[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