El hecho que nos gusten los ambientes GNU/Linux no nos exime a algunos de seguir con los vicios heredados de las andanzas por Windows.
El otro día estábamos buscando la forma de poder jugar Defense of the Ancient(DOTA) con el mayor numero de personas sin tenerlas a todas bajo la misma LAN así que me di a la tarea de aprender a montar un BattleNet (a.k.a BNet) en mi servidor Debian de manera que se pudiera acceder desde cualquier parte de la provincia y así resolver el problema de la falta de jugadores.
Todos conocen la aplicación PVPGN de cuando usábamos Windows pues bien este será un tutorial de como montar nuestro propio servidor PVPGN en ambiente GNU/Linux.
Breve introducción
PVPGN (del ingles Player Versus Player Gaming Network) es una aplicación que permite crear lo que se llama en algunos lugares un “servidor privado” que permite conectar jugadores de Diablo, Warcraft y Starcraft la primera vez que lo vi fue por allá por el 2005 mas o menos y cuando aquello lo usábamos para jugar Diablo pero hoy en dia es muy común ver en foros y sitios cubanos las “noticias” de que montaron un Bnet en tal lugar.
Instalando en ambiente GNU/Linux
PVPGN está disponible en los repositorios de la mayoría de las distribuciones mas populares como es el caso de Debian por lo que para instalar el servidor como tal solo necesitamos abrir una consola y escribir
sudo aptitude install pvpgn
Una vez instalado vamos a necesitar un paquete adicional llamado pvpgn-support:
Cuando descarguen el archivo abrimos la terminal y ponemos sudo pvpgn-support -l /RUTA_DEL_PAQUETE (me refiero al pvpgn-support-1.0.tar.gz) por ejemplo
sudo pvpgn-support-installer -l /home/neji/Descargas/pvpgn-support-1.0.tar.gz
Configurando nuestro servidor
A estas alturas ya tenemos instalado el servidor pero todavía no debe ser visible puesto que no esta configurado del todo así que ahora pasaremos a ese punto.
Como la mayoría de las aplicaciones los archivos de configuración están alojados en el directorio /etc así que editamos el archivo:
sudo nano /etc/pvpgn/bnet.conf
En esa configuración encontraremos muchas opciones pero yo personalmente no las uso todas así que les voy a poner las que uso:
1 – La ruta donde se guardarán los progresos de los jugadores:
storage_path = file:mode=plain;dir=/var/lib/pvpgn/files/users;clan=/var/lib/pvpgn/files/clans;team=/var/lib/pvpgn/files/teams;default=/etc/pvpgn/bnetd_default_user.plain
2- Los ficheros que utiliza pvpgn para registrar las cosas:
filedir = /var/lib/pvpgn/files reportdir = /var/lib/pvpgn/files/reports chanlogdir = /var/lib/pvpgn/files/chanlogs logfile = /var/lib/pvpgn/files/bnetd.log maildir = /var/lib/pvpgn/files/bnmail ladderdir = /var/lib/pvpgn/files/ladders statusdir = /var/lib/pvpgn/files/status pidfile = /var/lib/pvpgn/files/bnetd.pid motdfile = /etc/pvpgn/bnmotd.txt issuefile = /etc/pvpgn/bnissue.txt channelfile = /etc/pvpgn/channel.conf newsfile = /etc/pvpgn/news.txt adfile = /etc/pvpgn/ad.conf topicfile = /etc/pvpgn/topics.conf ipbanfile = /etc/pvpgn/bnban.conf helpfile = /etc/pvpgn/bnhelp.conf mpqfile = /etc/pvpgn/autoupdate.conf realmfile = /etc/pvpgn/realm.conf mapsfile = /etc/pvpgn/bnmaps.conf xplevelfile = /etc/pvpgn/bnxplevel.conf xpcalcfile = /etc/pvpgn/bnxpcalc.conf aliasfile = /etc/pvpgn/bnalias.conf DBlayoutfile = /etc/pvpgn/sql_DB_layout.conf supportfile = /etc/pvpgn/supportfile.conf transfile = /etc/pvpgn/address_translation.conf fortunecmd = /usr/games/fortune tournament_file = /etc/pvpgn/tournament.conf versioncheck_file = /etc/pvpgn/versioncheck.conf anongame_infos_file = /etc/pvpgn/anongame_infos.conf command_groups_file = /etc/pvpgn/command_groups.conf
Estos ficheros son ficheros de texto que nos permiten modificar cosas como la configuración del canal de Chat del servidor, el mensaje del bienvenida etc.
3- Configuraciones internas del propio servidor
loglevels = fatal d2cs_version = 0 allow_d2cs_setname = true iconfile = "icons.bni" war3_iconfile = "icons-WAR3.bni" star_iconfile = "icons_STAR.bni" tosfile = "tos.txt" allowed_clients = all skip_versioncheck = false allow_bad_version = false allow_unknown_version = true version_exeinfo_match = none version_exeinfo_maxdiff = 0 usersync = 300 userflush = 1200 userstep = 100 latency = 600 nullmsg = 120 shutdown_delay = 300 shutdown_decr = 60 new_accounts = false kick_old_login = true ask_new_channel = true report_all_games = true report_diablo_games = true hide_pass_games = true hide_started_games = false hide_temp_channels = true extra_commands = true disc_is_loss = true ladder_games = "topvbot, melee, ffa, oneonone" ladder_prefix = "ldr_" enable_conn_all = true hide_addr = false chanlog = false quota = yes quota_lines = 5 # must be between 1 and 100 lines quota_time = 5 # must be between 1 and 60 seconds quota_wrapline = 40 # must be between 1 to 256 chars quota_maxline = 200 # must be between 1 to 256 chars quota_dobae = 10 # must be between 1 and 100 lines mail_support = true mail_quota = 5 log_notice = "*** Please note this channel is logged! ***" passfail_count = 0 passfail_bantime = 300 maxusers_per_channel = 0 savebyname = true sync_on_logoff = true hashtable_size = 61 account_allowed_symbols = "-_[]§@" max_friends = 5 track = 60 trackaddrs = "localhost:9999" servername = "Bnet Abreus" max_connections = 1000 max_concurrent_logins = 0 use_keepalive = false max_conns_per_IP = 0 servaddrs = ":" # default interface (all) and default port (6112) w3routeaddr = "0.0.0.0:6200" initkill_timer = 120 woltimezone = "-8" wollongitude = "36.1083" wollatitude = "-115.0582" war3_ladder_update_secs = 300 XML_output_ladder = true output_update_secs = 60 clan_newer_time = 0 clan_max_members = 50 clan_channel_default_private = 0
En estas configuraciones nosotros definimos aspectos del servidor referentes a cosas como el nombre que tendra el servidor, la cantidad de mensajes permitidos entre usuarios, la cantidad de amigos, los puertos que se usaran en el servidor, la cantidad de conexiones entrantes permitidas etc.
Como el Bnet permite moderación de usuarios etc nosotros podemos definir una cuenta que seria algo como el root o administrador del Bnet para eso podemos modificar el archivo /var/lib/pvpgn/files/users/”usuario” (usuario es el nombre de la cuenta) y dentro de este agregar esto:
"BNET\\acct\\userid"="1" "BNET\\auth\\admin"="true" "BNET\\auth\\command_groups"="255"
El “userid” generalmente viene siendo el 1ro por ser casi siempre la primera cuenta que uno crea pero de no ser así y querer que el usuario X sea el admin solo ponemos el ID que tenga esa cuenta.
Luego que terminemos de configurar nuestro servidor ya podemos reiniciar el servicio de bnet:
invoke.rc.d pvpgn restart
Y listo… ya tenemos nuestro Bnet para invitar a nuestros amigos y pasar un rato jugando DOTA o cualquier otra cosa.
fuente: desdelinux.net
No hay comentarios:
Publicar un comentario