Tips para jugadores: Una web con estadísticas para tu Bnet

Hace un tiempo me dio por poner un tip para los gamers que pasamos a GNU/Linux y les traia en aquella ocasión la forma de montar un Battlenet o una red para jugar en linea con tus amigos al popular mapa del Warcraft llamado DOTA. En el debate generado dentro de aquella entrada hubo alguien que mencionó la opción de crear una web que mostrara las estadísticas de tu Battlenet, esta es algo que nos hizo llegar el usuario VilchesR para lograr esto.

Ohsystem es un sistema de Hosting Abierto que según el propio VilchesR es opensource y con el cual se hacen análisis de diferentes webs pero vamos a lo que nos importa: como lograr un sitio de estadisticas para nuestro Battlenes

Requerimientos

Para echar a andar todo el mecanismo necesitamos tener algunas dependencias que no pasamos por alto ellas son:

1- Pvpgn en funcionando con al menos dos usuarios creados en el mismo, uno para que el bot (ghost++) se conecte y hostee las partidas, y el nuestro para jugar.

2- Usar Boost que son unas librerias que utiliza el ghost++ (no se preocupen que vienen en los repos aunque de no funcionar les dejo la url de internet más adelante)

3- Servidor web compatible con PHP5 y Mysql (da lo mismo si es Apache, Nginx, Lighthttp etc)

4- Obviamente tener el Ohsystem

Es necesario tener también todo lo necesario para compilar (recuerden que Ghost++ hay que compilarlo) por tanto asegurense de hacer esto antes de empezar:

apt-get install build-essential g++ libmysql++-dev libbz2-dev libgmp3-dev
apt-get install libboost-dev libboost-system-dev libboost-date-time-dev libboost-thread-dev libboost-filesystem-dev libboost-regex-dev

Compilando Boost
Encaso de que las lib de los repos no les haya compilado el ghost++. Después de descargar el boost y descomprimirlo en una carpeta a su gusto y editar el archivo bootstrap.sh modificar la linea BJAM_CONFIG=»» por BJAM_CONFIG=»–layout=system»

En la consola

cd /ruta_carpeta_boost_1_55_0/

./bootstrap.sh --with-libraries=filesystem,program_options,system,regex,thread,date_time --libdir=/usr/lib/

./bjam

./bjam install

Compilando OHSystem

Suponiendo que tengan la carpeta ohsystem en el /home

cd /home/ohsystem/ghost++/bncsutil/src/bncsutil

make

make install

cd /home/ohsystem/ghost++/StormLib/stormlib
make

make install

cd /home/ohsystem/ghost++/ghost/
make
Para que actualice las stats automáticamente debemos compilar

cd /home/ohsystem/ghost++/update_stats

make && make install

cp stats ../

cp ghost++ ../

Ahora necesitamos copiar el ejecutable creado para la carpeta del ghost++

 

Configurando Ghost++

Modificar el archivo de configuración del ghost default.cfg.

Una parte importante aquí es la linea db_mysql_botid = 1, ya que este id es el que la página toma como referencia para extraer los datos del mysql. El ghost tiene para auto hostear partidas sin tener que crearlas manualmente. Necesitamos algunos archivos del juego, para eso creamos una carpeta war3 y maps. En war3 copiamos game.dll, storm.dll, war3.exe, war3patch.mpq; en maps los mapas para que los envié a los que no los tengan. Cada mapa tiene que tener su cfg en mapcfgs con las opciones para que el bot trabeje con él. Tienen que poner el canal (chat) al que se va a conectar el bot para que le puedan pasar los command; si el usuario del bot no esta en el canal no coge los comandos.

Algunas configuraciones del default.cfg:

bot_war3path = war3/
bot_mapcfgpath = mapcfgs/
bot_savegamepath = savegames/
bot_mappath = maps/
bot_replaypath = replays/
bot_defaultmap = [nombre del mapcfgs sin .cfg que se cargará por defecto]
autohost_maxgames = 0
autohost_startplayers = 4
autohost_gamename =
autohost_owner =
db_type = mysql (puede ser sqlite3)
db_mysql_server = localhost
db_mysql_database = [nombre de la bd]
db_mysql_user = [usuario]
db_mysql_password = [contraseña]
db_mysql_botid = 1 (# del bot si tienen más de uno en la misma bd)
bnet_server = [tu server pvpgn]
bnet_username = [usuario del bot en el pvpgn]
bnet_password = [contraseña del bot en el pvpgn]
bnet_custom_war3version = 26
bnet_custom_passwordhashtype = pvpgn
bnet_custom_pvpgnrealmname = [el que pusieron en el pvpgn (servername = » «)]
lan_war3version = 26

Algunas conf del [nombre del mapa].cfg

map_path = maps\DotA v6.80c.w3x
map_type = dota ##(necesario para las estadisticas)
game_alias = 1 ###(Alias del mapa, Game Type)
game_modes = apso arso sdso cmso rdso
map_matchmakingcategory = dota_elo
map_localpath = DotA v6.80c.w3x
map_defaulthcl = apso
map_loadingame = 1
map_trade_allowed = 0
map_observers = 4
map_slot1 = 0 255 0 0 0 1 4 1 100
map_slot2 = 0 255 0 0 0 2 4 1 100
map_slot3 = 0 255 0 0 0 3 4 1 100
map_slot4 = 0 255 0 0 0 4 4 1 100
map_slot5 = 0 255 0 0 0 5 4 1 100
map_slot6 = 0 255 0 0 1 7 8 1 100
map_slot7 = 0 255 0 0 1 8 8 1 100
map_slot8 = 0 255 0 0 1 9 8 1 100
map_slot9 = 0 255 0 0 1 10 8 1 100
map_slot10 = 0 255 0 0 1 11 8 1 100
map_slot11 = 0 255 0 0 12 12 96 1 100
map_slot12 = 0 255 1 0 12 12 96 1 100

Antes de ejecutar el ghost++ instalamos la web; copiamos openstats para el directorio /var/www

Instalando web de estadísticas

Creamos la bd mysql, en el navegador http://localhost/openstats y seguir los pasos que solicitan. En los archivos de conf del ghost debemos apuntar a la bd de la web. En el formulario del usuario el que se utiliza para el logueo es el correo.

En la web hay muchas opciones no me voy a adentrar mucho; cuando nos autentificamos, vamos al panel de control y entra a gamelist; aqui añadimos el id de mysql del bot, si tenemos más de uno deben tener id diferentes. En la opción tipo de juego (Game Types) viene DotA por defecto, si van a jugar otro lo añaden y debe combinar con el game_alias del mapcfgs. En la conf de los usuarios se puede proteger el user del bnet; en este caso cuando se entra en el game lobby hay que autentificarse con !pw [contraseña]. Para cargar distintos tipos de mapas (DotA, imba, LoD, DotA 6v6) tienen que poner:

!load [nombre del cfg del mapa]
!pub [nombre que tendrá la partida] (esta puede ser tambien !priv)

Los comandos del ghost se dividen por categorías:
En el Battle, canal; chat.
En lobby del juego; cuando lo están creando.
En el juego.
En el juego del admin; tipo de juego que se puede crear por administradores.

El ohsystem integra el bot y la web e implementa funcionalidades nuevas mediante la web; como es la protección del nick y otras que vienen de openstats como el suceso live de los juegos que ocurren en ese momento con todo los sucesos y posteriormente brinda los log.

Descargar Boost 1.50.0 desde Sourceforge

Descargar OHSystem desde Github

El contenido original pertece a la autoria de VilchesR y personalmente no he tenido tiempo a probarlo, si alguno tiene dudas pónganse en contacto con él tanto aquí como en el otro articulo

¿Te resultó interesante? Compártelo ...



Hyuuga_Neji

Publicado por Hyuuga_Neji

http://desdeabreus.cubava.cu » Facebook » Twitter » Instagram » Forma parte de GUTL desde el 6 diciembre, 2011. Administrador de Red por profesion y Editor de imagenes por hobby, Usuario empedernido de GNU/Linux amante de escritorios ligeros y franquicias de Blizzard (Vicio heredado de las andanzas por Windows).

Este artículo tiene 6 comentarios

  1. hace 5 años que utilizo Linux pero la verdad cuando se trata de jugar Windows se lleva las palmas

    • Si bien eso es cierto, hay que dar un salto de fe con Steam no?
      Aclaro que yo también tengo mi partición con W7 para el WoW y el Eurotrucks.

  2. Ya lo tengo compilado e instalado tanto el pvpgn como el ghost++ y esto es lo que muestra:

    Como soluciono esta parte?????
    Unrecognized AliasType, make sure you have set it correctly
    [Sun May 4 19:22:35 2014] [MYSQL] error — Unknown column ‘Garena’ in ‘field list’
    [Sun May 4 19:22:35 2014] [MYSQL] error — Unknown column ‘WC3Connect’ in ‘field list’
    [Sun May 4 19:22:26 2014] [MYSQL] error — Unknown column ‘USEast’ in ‘field list’

    Y aquí muestro todo el log del server…

    [Sun May 4 19:22:25 2014] [GHOST] starting up
    [Sun May 4 19:22:25 2014] [GHOST] using log method 1, logging is enabled and [ghost.log] will not be locked
    [Sun May 4 19:22:25 2014] [GHOST] using monotonic timer with resolution 0.00 microseconds
    [Sun May 4 19:22:25 2014] [GHOST] opening primary database
    [Sun May 4 19:22:25 2014] [MYSQL] connecting to database server
    [Sun May 4 19:22:25 2014] [GHOST] attempting to find local IP addresses
    [Sun May 4 19:22:25 2014] [GHOST] local hostname is [server]
    [Sun May 4 19:22:25 2014] [GHOST] local IP address #1 is [127.0.0.1]
    [Sun May 4 19:22:25 2014] [GHOST] acting as Warcraft III: The Frozen Throne
    [Sun May 4 19:22:25 2014] [GHOST] loading file [rooms.txt]
    [Sun May 4 19:22:25 2014] [GHOST] found battle.net connection #1 for server [10.0.0.1]
    [Sun May 4 19:22:25 2014] [GHOST] unable to get system locale, using default locale of 1033
    [Sun May 4 19:22:25 2014] [BNET: USEast] pvpgn connection found with a configured BNLS server, ignoring BNLS server
    [Sun May 4 19:22:25 2014] [GHOST] Adding hardcoded Garena Realm & WC3Connect Realm.
    [Sun May 4 19:22:25 2014] [GHOST] loading MPQ file [war3/War3Patch.mpq]
    [Sun May 4 19:22:25 2014] [GHOST] extracting Scripts\common.j from MPQ file to [mapcfgs/common.j]
    [Sun May 4 19:22:25 2014] [GHOST] extracting Scripts\blizzard.j from MPQ file to [mapcfgs/blizzard.j]
    [Sun May 4 19:22:25 2014] [GHOST] adding «.cfg» to default map -> new default is [dota.cfg]
    [Sun May 4 19:22:25 2014] Unrecognized AliasType, make sure you have set it correctly.
    [Sun May 4 19:22:25 2014] [GHOST] GHost++ Version 17.2 (with MySQL support)
    [Sun May 4 19:22:25 2014] [BNET: USEast] connecting to server [10.0.0.1] on port 6112
    [Sun May 4 19:22:25 2014] [BNET: USEast] resolved and cached server IP address 10.0.0.1
    [Sun May 4 19:22:26 2014] [BNET: USEast] connected
    [Sun May 4 19:22:26 2014] Loaded aliases: 1
    [Sun May 4 19:22:26 2014] [MYSQL] error — Unknown column ‘USEast’ in ‘field list’
    [Sun May 4 19:22:26 2014] [BNET: USEast] attempting to auth as Warcraft III: The Frozen Throne
    [Sun May 4 19:22:26 2014] [BNET: USEast] cd keys accepted
    [Sun May 4 19:22:26 2014] [BNET: USEast] username [pvpgn] accepted
    [Sun May 4 19:22:26 2014] [BNET: USEast] using pvpgn logon type (for pvpgn servers only)
    [Sun May 4 19:22:26 2014] [BNET: USEast] logon successful
    [Sun May 4 19:22:26 2014] [BNET: USEast] joining channel [Warcraft 3 Frozen Throne]
    [Sun May 4 19:22:26 2014] [BNET: USEast] joined channel [Warcraft 3 Frozen Throne]
    [Sun May 4 19:22:26 2014] [INFO: USEast] IP: 10.0.0.1
    [Sun May 4 19:22:26 2014] [INFO: USEast] Hola, Bienvenido al Bnet!
    [Sun May 4 19:22:26 2014] [INFO: USEast] Version PvPGN BnetD Mod 1.8.1 Linux Debian…

  3. He montado el servidor PVPGN en windows mas el OHSystem, y el openstats funciona correctamente, pero NO MUESTRA EL TOP DE PLAYER, alguien sabe como solucionar este problema ?.
    AYUDA

    • hola a todos tengo un problemita con el link para descargar el ohsystem me dice esto (This is not the wep page you are looking for) entre otras palabras:esta no es la paguina web que estas buscando!aguien seria tan amable de ponerme un link donde pueda descargar el ohsystem?gracias de antemano

Los comentarios están cerrados.