20 de set de 2010

Criando um Servidor para Urban Terror

Urban Terror
    Urban Terror é um jogo FPS (First Person Shooter) desenvolvido pela FrozenSand. Com uma jogabilidade bastante realista e gráficos de tirar o fôlego, Urban Terror não deixa nada a desejar em comparação a qualquer jogo em primeira pessoa.



    Configurando arquivo

    Depois do jogo devidamente instalado vamos modificar o arquivo de configuração do Urban Terror.
    Abra um terminal e:
    Entre no diretório onde está nosso arquivo server.cfg (Levando em conta que você tenha instalado em /usr/local/games/).
    $ cd /usr/local/games/urbanterror/q3ut4/
    Edite o arquivo server.cfg.
    $ vim server.cfg
    ou
    $ nano server.cfg
    Caso você seja daquelas pessoas cuidadosas, crie um arquivo de backup antes de editar. ;)
    Esse é o arquivo que descreve como o jogo irá se comportar. Há bastante coisa a se configurar. Vou mostrar neste turorial somente o básico.

    Esse arquivo possui variáveis que são carragadas junto com a aplicação. Vamos ver que valores elas podem assumir e qual o seu comportamento:

    · g_gametype - define o tipo de jogo. Pode assumir os valores:
       0=FreeForAll
    3=TeamDeathMatch
    4=Team Survivor
    5=Follow the Leader
    6=Capture and Hold
    7=Capture The Flag
    8=Bombmode
    · timelimit - tempo em minutos para o fim do mapa. [0 é o mesmo que nunca.]
    · fraglimit - número máximo de pontos para o fim do mapa. [0 é o mesmo que nunca.]
    · capturelimit - número máximo de bandeiras a serem capturadas. [0 é o mesmo que nunca.]
      serve somente para o modo CTF (Capture the Flag=7)
    · g_mapcycle - nome do arquivo onde estão configurados os mapas a serem utilizados no decorrer do jogo.
    · map - por qual mapa começar.
    Um material mais avançado sobre o arquivo pode ser encontrado em http://www.urbanterror.info


    Ciclo de Mapas

    Editando o arquivo mapcycle.txt é possível definir um ciclo de mapas para seu servidor.
    Apenas lembre-se que ao jogar com os bots, somente alguns mapas são compatíveis. Veja: [http://mad3linux.blogspot.com/2009/11/urban-terror.html]


    Criando um bash para rodar o servidor
      Agora basta criar um arquivo em shell script para rodar nosso servidor. Basta criar um arquivo de texto no local de instalação do seu Urban Terror. (Seguindo o tutorial em /usr/local/games/urbanterror)

      Copie as seguintes linhas:

      #!/bin/bash
      while true
        do
         /usr/local/games/urbanterror/ioUrTded.i386 +set fs_game q3ut4 +set dedicated 2 +set net_port 27960 +set com_hunkmegs 128 +exec server.cfg
         echo "server crashed on `date`" > last_crash.txt
      done
      Nomeio como start.sh
      Vamos a uma pequena explanação do que o arquivo fará.
      Como todo bom servidor, ele deverá rodar "sempre". Por isso temos um laço iterando nossa linha de comando.
      Logo abaixo do laço, temos o comando que faz nosso servidor se comportar da maneira que configuramos antes no arquivo server.cfg.
      Vamos quebrá-lo em partes.
      Primeiro vem a chamada para o executável dedicado do Urban Terror. O chamado ioUrTded.i386, o qual roda uma isntância do jogo em modo texto.
      Depois temos algumas variáveis. Note o "+set" que indica que setaremos algumas variáveis.
      · fs_game - indica o diretório onde procurar arquivos de configuração. Valor: q3ut4, que é o diretório onde
      ficam os arquivos de configuração.
      · net_port - configura a porta utilizada pelos clientes. Sempre escolha uma porta maior que 1024, pois entre 1 e 1024 são portas reservadas.
      Por último vem o "+exec" o qual executa todas as configurações feitas em server.cfg.
      Pronto. Agora basta rodar seu script recem criado. No terminal:
      $ chmod a+x start.sh
      $ sh start.sh

      Clientes do Jogo

      Para os clientes acessarem o servidor basta que eles abram o jogo e cliquem em play online. Logo em baixo aparece a opção Source, com os itens Internet, Favorites e Local. Escolha local e depois clique em Refresh List. Caso ainda não apareça verifique a opção Type abaixo de Source. All significa todos os tipos, depois segue a lista Free For All (Todo mundo contra), Team Deathmatch (Partida com times), Team Survivor (Último Sobrevivente do Time), Follow The Leader (Seguir O Líder), Capture And Hold (Capturar e Defender), Capture The Flag (Capturar A Bandeira), Bomb Mode (Modo Bomba). Depois disso basta clicar em Connect e pronto.

      Servidor em Modo Gráfico

      Também é possível criar um Servidor para Urban Terror em modo gráfico. Abra o jogo e clique em start server. Logo após é possível definir como será o jogo. Tem as opções de setup, tipo do jogo, opções do servidor e selecionar o mapa. Dessa forma parece mais fácil, contudo fica chato ter que configurar o server toda vez que for jogar.

      Screenshots

        Recarregar (R)


        Curar (Q)