[FUGSPBR] Counter Strike Server no FreeBSD
Capriotti
capriotti em fugspbr.org
Qui Nov 7 10:49:14 BRST 2002
Para aqueles que se interessaram em montar um servidor CS no FreeBSD,
acabei de faze-lo, mas não é tão direto quanto se acredita.
Passos básicos:
1) Instale/atualize a árvore dos ports com o cvsup (favos consultar
documentação específica)
2) Instalar a compatibilidade de Linux mais atualizada (/stand/sysinstall);
Consulte documentação específica
3) Baixar o pacote
http://gwforum.net/cs/ua/HL_CS_Files/halflife/hlds_l_3110_full.bin
Esse arquivo pode ser baixado de vários outros pontos na Internet. Use o
Google ou similar para procurar. (esse é o SERVIDOR de Half Life, que é o
"engine" que roda o MOD Counter Strike.)
4) Baixar o pacote de atualização para Counter Strike mais atual (1.5, hoje)
O link
http://gwforum.net/cs/ua/HL_CS_Files/cstrike/lin_server/cs_15_full.tar.gz
Funciona bem, mas continua valendo o comentário anterior.
5) tudo pronto para começar a compilar;
execute
cd /usr/ports/games/halflifeserver/
make
make install
(provavelmente este passo 5 e o seguinte são redundantes, ou, na pior das
hipóteses, iguais, mas foi assim que eu fiz, e ainda não tive tempo de
testar o contrário)
6) execute
cd /usr/ports/games/hlserver-cs/
make
make install
7) Edite o arquivo de configuração do servidor em
/usr/compat/linux/usr/games/hlds_l/cstrike/server.cfg
o meu está assim:
// disable autoaim
sv_aim 0
// disable clients' ability to pause the server
pausable 0
// default server name. Change to "Bob's Server", etc.
hostname "Cap_BR"
// maximum client movement speed
sv_maxspeed 320
// 20 minute timelimit
mp_timelimit 20
sv_cheats 0
rcon_password "senhadoserverCS"
mp_c4timer 30
mp_flashlight 1
mp_footsteps 1
mp_friendlyfire 1
mp_autoteambalance 1
mp_freezetime 6
mp_roundtime 3
mp_maxrounds 0
mp_mapvoteratio 0.8
mp_forcechasecam 0
Finalmente rode o servidor como USUÁRIO NÃO PRIVILEGIADO (não root, ou não
pertencente ao grupo wheel). Comando:
./usr/compat/linux/usr/games/hlds_l/hlds_run -game cstrike + maxplayers 6 +
exec server.cfg + map de_dust &
(tudo em uma linha só, claro)
Com isso um servidor CS básico vai estar rodando, sem senha para os usuários.
Lembre que assim que VC inicia o servidor ele vai:
-Baixar atualizações do site principal
-publicar-se como sendo um servidor público nas listas internacionais
(portanto VC vai ser conhecido em todo o mundo)
-se seu servidor estiver por trás de um firewall e/ou gateway, e com IP
reservado (192.168.x.y, 10.x.y.z, 172.16.x.y) o IP do GATEWAY vai ser
publicado como sendo de um servidor de jogo, e várias requisições de
conexão (porta udp 27015/27005), informação (porta udp 27010) passarão a
acontecer entre o servidor de jogo e a Internet, ou o GATEWAY e a internet.
Para tornar público um servidor de jogo, mantendo-o por trás do
firewall/gateway, use o redirecionamento do natd ou similar da seguinte
maneira:
todas as conexões chegando para o gateway para udp 27015 devem ser
redirecionadas para o ip interno do servidor de jogo.
O servidor de CS é muito econômico e estimo que consuma por volta de 3 a 4%
dos recursos de processamento de um Pentium 3 500 MHz com 128 MH de ram
(rodando apenas isso) por jogador conectado.
Calculo uma média de 3.5 KBytes/s de saída e 2.5 Kbytes/s de entrada de
dados, por cliente (jogador) conectado. Ou seja, donos de speedy 256/128,
sinto muito mas não vão jogar mais do que 4 pessoas no seu server
(remotamente), com boa performance. Esse copnsumo de banda não é estável, e
varia muito durante o jogo, não atinei exatamente o porque.
Dica: Para tornar o jogo balanceado entre jogadores remotos e locais, use o
pipe do ipfw para reduzir a velocidade da conexão local, e equalizar o
tempo de resposta. O tempo de resposta de um cliente pode ser verificado
durante o jogo apertando a tecla tab. Esse tempo de resposta é conhecido
como "ping" (mas designado como "latency"), e estando entre 35 e 45 é
considerado excelente. "Pings" de 100 e acima dificultam em muito o jogo
para esse determinado cliente.
Clientes na rede interna deverão ter um "ping" de aproximadamente 15 a 40,
com bastante flutuação.
Ainda não tenho os comandos mais avançados do servidor de CS e agradeceria
se alguém os passasse para mim.
Se VC tem um servidor um pouco mais avantajado que está funcionando só como
DNS ou coisas pequenas, taí uma máquina ieal para fazer uma servidor de
Couter Strike.
[]s
Capriotti
_______________________________________________________________
Sair da Lista: http://www2.fugspbr.org/mailman/listinfo/fugspbr
Historico: http://www4.fugspbr.org/lista/html/FUG-BR/
Mais detalhes sobre a lista de discussão freebsd