Go Back   Champions of Regnum > Español > Soporte Técnico > Linux

Linux Problemas técnicos bajo la plataforma Linux

Reply
 
Thread Tools Display Modes
Old 05-14-2009, 07:48 PM   #1
imefisto_foro
Initiate
 
imefisto_foro's Avatar
 
Join Date: Aug 2008
Location: San Luis - Argentina
Posts: 213
imefisto_foro is on a distinguished road
Default [SOLUCIONADO] Solución al problema SEGFAULT (traducción)

En el foro inglés apareció una alternativa a esta solución así que traduje el otro post y lo puse acá.

Dejo este thread para que quede guardada la información, pero parece que la otra solución es mejor.

-----------------------------------------------------------------

Hola gentes. Un usuario del foro en inglés posteó una solución al problema de "SEGFAULT", el cual apareció en una de las últimas actualizaciones y nos tuvo a varios con dolores de cabeza.

El autor de la solución es onemyndseye y el post original está ACÁ

Les dejo la traducción de ese post (le pedí permiso al autor). Traté de apegarme el máximo posible a las palabras de onemyndseye.

De más está decir que el que quiera intentar la solución lo hace bajo su propio riesgo.

Cualquier error en la traducción que noten, avisen así lo edito.

El post:
-----------------------------------------------------------------------------

Aquí encontrarán una solución para el problema encontrado en este thread:
http://regnumonlinegame.com/forum/sh...ad.php?t=36774
http://regnumonlinegame.com/forum/sh...ad.php?t=41714

UPDATE [05/15/2009]: Script y HOWTO solucionan el asunto de RO ejecutándose como root
UPDATE [05/16/2009]: Script y HOWTO con algunas mejoras de código menores
UPDATE [05/18/2009]: Script y HOWTO actualizados para solucionar un problema que causaba la desconexión de internet dentro del chroot.
UPDATE [05/18/2009]: Se agregó soporte Español/Inglés. El locale del Chroot será el mismo que tu sistema.

Antes que nada -- Por lo que sé, este fix funciona en Ubuntu Jaunty o las distros de Linux con versión similar. Esto significa:

Xorg 7.4
Mesa 7.4
Kernel 2.6.28

El método básico es crear un chroot usando debootstrap y configurarlo para correr aplicaciones gráficas bajo tu servidor X / escritorio corriente. Hay una buena guía para esto aquí (inglés): https://wiki.ubuntu.com/DebootstrapChroot

Al final de este post encontrarán un script que hace este trabajo por ustedes ...

Necesitas tener RO instalado en ~/regnum antes de empezar.

De ahora en más asumo que están trabajando como root. Primero necesitamos instalar un par de paquetes necesarios: debootstrap y libtxc-dxtn los cuales asumiré que uds necesitan ya que están leyendo esto

Code:
sudo su

apt-get install debootstrap
wget http://debian-multimedia.org/pool/main/libt/libtxc-dxtn/libtxc-dxtn0_0.070518-0.1_i386.deb
dpkg -i libtxc-dxtn0_0.070518-0.1_i386.deb
rm -f libtxc-dxtn0_0.070518-0.1_i386.deb
Para crear tu chroot asumiremos que quieres ponerlo en /opt/hardy-chroot

Code:
mkdir -p /opt/hardy-chroot
debootstrap --variant=buildd hardy /opt/hardy-chroot http://archive.ubuntu.com/ubuntu/

mkdir -p  /opt/hardy-chroot/var/run/dbus
mkdir -p  /opt/hardy-chroot/lib/modules 
mkdir -p  /opt/hardy-chroot/home
mkdir -p /opt/hardy-chroot/host-etc
Reemplazar los contenidos de /opt/hardy-chroot/etc/apt/sources.list
con las siguientes líneas: (hint: pico /opt/hardy-chroot/etc/apt/sources.list)

Code:
deb http://us.archive.ubuntu.com/ubuntu/ hardy main restricted
deb-src http://us.archive.ubuntu.com/ubuntu/ hardy main restricted
deb http://us.archive.ubuntu.com/ubuntu/ hardy-updates main restricted
deb-src http://us.archive.ubuntu.com/ubuntu/ hardy-updates main restricted
deb http://us.archive.ubuntu.com/ubuntu/ hardy universe
deb-src http://us.archive.ubuntu.com/ubuntu/ hardy universe
deb http://us.archive.ubuntu.com/ubuntu/ hardy-updates universe
deb-src http://us.archive.ubuntu.com/ubuntu/ hardy-updates universe
deb http://us.archive.ubuntu.com/ubuntu/ hardy multiverse
deb-src http://us.archive.ubuntu.com/ubuntu/ hardy multiverse
deb http://us.archive.ubuntu.com/ubuntu/ hardy-updates multiverse
deb-src http://us.archive.ubuntu.com/ubuntu/ hardy-updates multiverse
deb http://us.archive.ubuntu.com/ubuntu/ hardy-backports main restricted universe multiverse
deb-src http://us.archive.ubuntu.com/ubuntu/ hardy-backports main restricted universe multiverse
deb http://archive.canonical.com/ubuntu hardy partner
deb-src http://archive.canonical.com/ubuntu hardy partner
deb http://security.ubuntu.com/ubuntu hardy-security main restricted
deb-src http://security.ubuntu.com/ubuntu hardy-security main restricted
deb http://security.ubuntu.com/ubuntu hardy-security universe
deb-src http://security.ubuntu.com/ubuntu hardy-security universe
deb http://security.ubuntu.com/ubuntu hardy-security multiverse
deb-src http://security.ubuntu.com/ubuntu hardy-security multiverse
Estas líneas deberían ser agregadas a tu /etc/fstab

Code:
/proc  /opt/hardy-chroot/proc none rbind 0 0 
/dev   /opt/hardy-chroot/dev none rbind 0 0 
/sys   /opt/hardy-chroot/sys none rbind 0 0
/tmp   /opt/hardy-chroot/tmp none rbind 0 0 
/home   /opt/hardy-chroot/home none rbind 0 0
/etc   /opt/hardy-chroot/host-etc none rbind 0 0
/lib/modules   /opt/hardy-chroot/lib/modules none rbind 0 0 
/var/run/dbus   /opt/hardy-chroot/var/run/dbus none rbind 0 0
Ejecutar el siguiente comando para montar el sistema de archivos necesario y entrar al chroot

Code:
mount -a
chroot /opt/hardy-chroot
Una vez aquí necesitamos instalar los paquetes necesarios para configurar el sistema de manera apropiada y para ejecutar RO

Code:
rm /etc/resolv.conf
ln -s /host-etc/resolv.conf /etc/resolv.conf

export LANG=C
apt-get update
apt-get --yes --force-yes --no-install-recommends install wget debconf devscripts gnupg nano
apt-get update 
apt-get --yes --force-yes install language-pack-en
apt-get --yes --force-yes install xorg libgl1-mesa-dri libgl1-mesa-glx libglu1-mesa mesa-utils libglib2.0-0 libgtk2.0-0 libxt6 libopenal0a


wget http://debian-multimedia.org/pool/main/libt/libtxc-dxtn/libtxc-dxtn0_0.070518-0.1_i386.deb
dpkg -i libtxc-dxtn0_0.070518-0.1_i386.deb
rm -f libtxc-dxtn0_0.070518-0.1_i386.deb

apt-get clean

rm /etc/hostname
rm /etc/group
rm /etc/passwd
rm /etc/shadow
rm /etc/gshadow
ln -s /host-etc/hosts  /etc/hosts
ln -s /host-etc/hostname /etc/hostname
ln -s /host-etc/group /etc/group
ln -s /host-etc/passwd /etc/passwd
ln -s /host-etc/shadow /etc/shadow
ln -s /host-etc/gshadow /etc/gshadow

mkdir -p /etc/default
rm /etc/default/locale
ln -s /host-etc/default/locale /etc/default/locale

exit
Salir de la actual sesión root:
Code:
exit
** NOTA YA NO ESTAMOS COMO ROOT **


Ahora debes crear 2 scripts para ejecutar RO:

~/regnum/chrooted_ro.sh
Code:
!/bin/bash
##
##
### NO EJECUTAR ESTE SCRIPT DIRECTAMENTE. Éste debería ser llamado por  regnum-online.sh

# aceptar como usuario al pasado como parámetro desde regnum-online.sh
USER=$1

## Función para esperar hasta que RO haya finalizado
wait_game() {

RO_EXIT="0"
while [ $RO_EXIT = "0" ]
do
    TMP1=$(ps -U $USER |grep game |grep -v grep |awk '{print $1}')
    if [ -z "$TMP1" ]; then
      RO_EXIT=1
    fi
    sleep 0.5
done

}

### Configurar entorno e iniciar launcher
cd /home/$USER/regnum
export MALLOC_CHECK_=1
su $USER -c ./rolauncher


## Esperar al proceso principal para salir. Para esto usamos un loop
#
sleep 2
wait_game
~/regnum/chrooted_ro.sh
Code:
#!/bin/bash

sudo chroot /opt/hardy-chroot /home/$USER/regnum/chrooted_ro.sh $USER

exit 0
Finalmente damos permiso de ejecución a ambos scripts:
Code:
chmod +x ~/chrooted_ro.sh
chmod +x ~/regnum-online.sh

Afortunadamente, he creado un script para hacer todo esto por ustedes se encuentra aquí:
http://onemyndseye.doesntexist.com/s...d-ro-bottle.sh

*** UPDATE: se agregó soporte de locale Español/Inglés al script. El lenguaje es detectado a partir del sistema host y puede ser sobreescrito por el argumento --lang.. en cuyo caso se te pedirá confirmación. Ejemplo:

Code:
onemyndseye@onemyndsmobile ~ $ ./build-ro-bottle.sh --lang


1. English
2. Enspanol
English or Espanol?:

Este script se encarga de todo lo anterior incluyendo la construcción de los scripts para ejecutar RO. Lo único que dejé fuera del script es editar el archivo /etc/sudoers que nos permite saltar el introducir la contraseña ....

Para hacer esto...editar el archivo sudoers con el comando: sudo pico /etc/sudoers
Agregar la siguiente línea:
Code:
<YOUR USER NAME>    ALL = NOPASSWD: /usr/sbin/chroot

Ejemplo:
Code:
onemyndseye    ALL = NOPASSWD: /usr/sbin/chroot
Ahora puedes ejecutar RO con el siguiente comando: ~/regnum/regnum-online.sh

**** IMPORTANTE: Si desean borrar los archivos en /opt/hardy-chroot DEBEN remover las líneas relacionadas de /etc/fstab primero ENTONCES REBOOTEAR EL PC... de lo contrario esto arruinará tu instalación de linux

Este método y script deberían ser considerados un borrador así que espero que evolucione y sea mejorado con el tiempo...también notar que puede interrumpirse sin aviso y RO dejar de funcionar -- simplemente habrá que seguir adelante cuando lleguemos ahí

Una vez más, el link para el script: http://onemyndseye.doesntexist.com/s...d-ro-bottle.sh
__________________
Inek Bárbaro en desarrollo. Sólo sangre azul.
Sombras de Alsius (todavía me queda grande el cartelito)
Hasta siempre Feo...G*

Last edited by imefisto; 10-22-2009 at 05:25 PM. Reason: agrego enlace a nueva solución
imefisto_foro no ha iniciado sesión   Reply With Quote
Old 05-14-2009, 07:53 PM   #2
onemyndseye
Master
 
onemyndseye's Avatar
 
Join Date: Jul 2008
Location: South Central USA
Posts: 260
onemyndseye is on a distinguished road
Default

gracias imefisto
onemyndseye no ha iniciado sesión   Reply With Quote
Old 05-16-2009, 11:26 AM   #3
onemyndseye
Master
 
onemyndseye's Avatar
 
Join Date: Jul 2008
Location: South Central USA
Posts: 260
onemyndseye is on a distinguished road
Default

Actualizado: http://www.regnumonline.com.ar/forum...ad.php?t=41850
onemyndseye no ha iniciado sesión   Reply With Quote
Old 05-16-2009, 02:06 PM   #4
pescaupintau
Marquis
 
pescaupintau's Avatar
 
Join Date: Oct 2006
Location: no se pudo establecar conexión con el servidor
Posts: 2,057
pescaupintau is a jewel in the roughpescaupintau is a jewel in the roughpescaupintau is a jewel in the rough
Default

interesante, ¿será que sirve para que pueda volver a encender los efectos de partículas, ir a fuertes y castillos que tenga ignis y estén mejorados con el guardia, y -sobre todo- volver a domar al gollltar garchador?. Abrá que probarlo

por otra parte, tanto trabajo solo para regnum, me da como... no se
__________________
in theCopyleft—all rights reversed
pescaupintau no ha iniciado sesión   Reply With Quote
Old 05-17-2009, 05:31 AM   #5
GreenMinina
Pledge
 
Join Date: Jan 2008
Posts: 1
GreenMinina is on a distinguished road
Talking HEY muchas Gracias!!!!!

Estoy terminando de cargar los recursos, pero muchas gracias por el aporte!!!!
GreenMinina no ha iniciado sesión   Reply With Quote
Old 05-22-2009, 09:20 PM   #6
imefisto_foro
Initiate
 
imefisto_foro's Avatar
 
Join Date: Aug 2008
Location: San Luis - Argentina
Posts: 213
imefisto_foro is on a distinguished road
Default

UPDATE 22/5/2009: Actualicé el post para dejarlo tal como está el original. Por las dudas hice una copia de la primer traducción en caso de que alguno quiera continuar con el método que allí figuraba.
__________________
Inek Bárbaro en desarrollo. Sólo sangre azul.
Sombras de Alsius (todavía me queda grande el cartelito)
Hasta siempre Feo...G*
imefisto_foro no ha iniciado sesión   Reply With Quote
Old 05-23-2009, 02:28 PM   #7
Ezepoeta
Apprentice
 
Ezepoeta's Avatar
 
Join Date: Dec 2006
Location: Argentina Bs As
Posts: 87
Ezepoeta is on a distinguished road
Default

Hola, perdón por mi ignorancia, pero que es exactamente lo que soluciona eso? porque siempre he tenido diversos problemas desde linux con el RO.
__________________
Ludwing Conjurador Titan de La Jihad de Alsius
Abel Cazador Titán de La Jihad y cazador de Alsius
Trovador Titán de La Jihad y Bruto Barbaro Alsirio
Ezepoeta no ha iniciado sesión   Reply With Quote
Old 05-23-2009, 03:55 PM   #8
Faramiir
Apprentice
 
Faramiir's Avatar
 
Join Date: Sep 2008
Posts: 66
Faramiir is on a distinguished road
Default

gracias¡¡¡¡¡¡
__________________
][ Frozen Death ][
Faramiir no ha iniciado sesión   Reply With Quote
Old 05-25-2009, 07:50 PM   #9
imefisto_foro
Initiate
 
imefisto_foro's Avatar
 
Join Date: Aug 2008
Location: San Luis - Argentina
Posts: 213
imefisto_foro is on a distinguished road
Default

Quote:
Originally Posted by Ezepoeta View Post
Hola, perdón por mi ignorancia, pero que es exactamente lo que soluciona eso? porque siempre he tenido diversos problemas desde linux con el RO.
Acá están planteados los problemas.

http://regnumonlinegame.com/forum/sh...ad.php?t=36774

http://regnumonlinegame.com/forum/sh...ad.php?t=41714

http://www.regnumonline.com.ar/forum...ad.php?t=36960

Si bien los dos primeros están en inglés, podés ver si tenés los mismos errores que ahí aparecen. Básicamente, después de una actualización (no recuerdo cuál), varios de los que usábamos linux empezamos a tener un problema en el que el juego crasheaba arrojando el error "Segmentation fault").

El usuario autor del post que traduje encontró que, creando un ambiente experimental dentro de su linux regular (chroot), se podía jugar regnum teniendo ciertas librerías en ese entorno y con eso evitar el SEGFAULT.
__________________
Inek Bárbaro en desarrollo. Sólo sangre azul.
Sombras de Alsius (todavía me queda grande el cartelito)
Hasta siempre Feo...G*
imefisto_foro no ha iniciado sesión   Reply With Quote
Old 06-29-2009, 02:23 AM   #10
onemyndseye
Master
 
onemyndseye's Avatar
 
Join Date: Jul 2008
Location: South Central USA
Posts: 260
onemyndseye is on a distinguished road
Default

Nueva localización de la transferencia directa para build-ro-bottle.sh:

http://onemyndseye.doesntexist.com/s...d-ro-bottle.sh
__________________
RA/Syrtis Hunter LVL50: Elusis
RA/Syrtis Barba LVL50: Artemisia
RA/Syrtis Conju Lvl45: Nellas Miriel
onemyndseye no ha iniciado sesión   Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 05:48 PM.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2025, vBulletin Solutions, Inc.
NGD Studios 2002-2024 © All rights reserved
 
Loading...