Este guia destina-se a orientar alguém sobre como instalar o servidor dedicado V Rising – atualmente um aplicativo somente para Windows – no Linux e iniciá-lo para que possa ser usado para jogar online.
Etapa 1: requisitos (SO, aplicativos de suporte)
Requisitos de sistema do servidor dedicado Linux
Primeira coisa – este guia requer que você traga seu próprio conhecimento de Linux para a mesa, ou seja, como instalar, configurar a rede, etc – o básico. Com isso como base (e com um comando do seu próprio tipo de sistema operacional em mente, se for diferente daquele sobre o qual estou escrevendo aqui), continue.
Este guia recria como fiz o servidor funcionar para mim e meus amigos. É um mashup de informações que encontrei para Conan Exiles (outro servidor dedicado aparentemente baseado em Windows) e informações de configuração para o próprio V Rising.
Como o jogo será executado via emulação do Windows no Linux, você provavelmente não desejará executá-lo em um raspberry pi ou algo dolorosamente antigo; mas quase qualquer sistema relativamente moderno com, digamos, 4 núcleos e 8 GB de memória deve funcionar. Uma ressalva é que, embora seja um servidor dedicado, você provavelmente desejará fechá-lo e reiniciá-lo pelo menos diariamente, se possível, porque parece que a memória de emulação aumenta. Estou executando isso em uma máquina com 32 GB e o mecanismo de emulação do Linux (não o processo do Windows gerenciado pelo vinho) começa a aumentar o consumo de memória ao longo do tempo.
HEY DEVS: ME DÊ UM SERVIDOR LINUX DEDICADO ADEQUADO, EU NÃO QUERO EMULAR ISSO PARA SEMPRE.
Se movendo. Você precisará de um sistema Linux, e quase qualquer um deles servirá, mas os competidores populares, é claro, recebem as melhores notas; CentOS, Ubuntu, OpenSuSE – tanto faz. Estou usando o Debian 10 (buster).
Nota: VOCÊ PRECISARÁ DE ROOT para executar as etapas a seguir, seja sudo todas elas ou apenas execute um shell inteiro como root, ambas funcionarão.
Primeiro, você deve ter certeza de ter os pacotes adequados, o que significa que você precisará ter as opções de repositório adequadas. Para obter tudo isso, você precisa de mais do que apenas o canal 'principal'. Aqui estão meus dados de fontes do arquivo /etc/apt/sources.list
deb http://deb.debian.org/debian/ buster main contrib non-free deb-src http://deb.debian.org/debian/ buster main contrib non-free deb http://security.debian.org /debian-security buster/updates main contrib non-free deb-src http://security.debian.org/debian-security buster/updates main contrib non-free deb http://deb.debian.org/debian/buster -updates main contrib non-free deb-src http://deb.debian.org/debian/ buster-updates main contrib non-free
Certifique-se de executar 'apt update' ou 'apt-get update' depois de modificar sua lista de fontes. A partir daí, execute os seguintes comandos:
dpkg --add-architecture i386 apt-get install wine wine32 wine64 xvfb mingw-w64 mingw-w32 screen steamcmd
Você verá uma lista MUITO maior de pacotes que acompanham a lista acima, apenas certifique-se de ter espaço em disco adequado e aceite os pacotes necessários/recomendados. Tecnicamente, nem toda a lista que tenho no comando é necessária, mas quando o wine inicia e reclama sobre a falta de coisas como gecko (mingw) eu odeio mensagens assim, então esta lista deve cobrir tudo isso. Minha opinião sobre isso é que os únicos erros que você quer ter que pensar são aqueles que o software do servidor lança em você.
Em seguida, crie uma conta não root na qual você executará o software e defina uma senha para ela.
useradd -m -d /game/vrising vrising passwd vrising
Agora que você tem um usuário, o resto acontece nessa conta. Acesse agora.
Passo 2: Baixando o V Rising usando o steamcmd
Com sua nova conta brilhante, certifique-se de ter as seguintes variáveis em seu perfil, sejam elas .bashrc, .bash_profile, .profile, seja o que for. Adicione-os, salve/sair, faça logout/login e execute o seguinte comando para garantir que eles estejam presentes:
env|grep WIN
Em seguida, crie um diretório para o cliente steam para salvar os arquivos do jogo. IE /game/vrising/vrising_files e execute o seguinte comando para baixar o jogo.
NOTA: Tudo de 'steamcmd' a '+exit' é um comando de linha única
steamcmd +@sSteamCmdForcePlatformType windows +force_install_dir /home/vrising/vrising_files +login anônimo +app_update 1829350 +exit
É isso aí!
Etapa 3: iniciar o servidor pela primeira vez
Agora que você baixou o jogo, você pode executá-lo pela primeira vez. Você NÃO estará jogando nele ainda, isso é apenas para deixar os arquivos descompactados, os arquivos de configuração serem gerados, etc. Execute o seguinte comando e deixe descansar por alguns minutos, praticamente até você ver mensagens repetidas indicando que o servidor está fazendo coisas básicas de manutenção, geralmente algo como o que está abaixo.
NOTA: Tudo de 'xvfb-run' até o final de '-log' é um comando de linha única.
xvfb-run --auto-servernum --server-args='-screen 0 640x480x24:32' wine /game/vrising/vrising_files/VRisingServer.exe -log -- repetindo as mensagens abaixo-- [FileUserList] Carregado FileUserList de: Z :\home\vrising\vrising_files\VRisingServer_Data\StreamingAssets\Settings\adminlist.txt, Adicionado: 0 [FileUserList] Loaded FileUserList de: C:\users\vrising\AppData\LocalLow\Stunlock Studios\VRisingServer\Settings\adminlist.txt, Adicionado: 1 [FileUserList] Carregado FileUserList de: Z:\home\vrising\vrising_files\VRisingServer_Data\StreamingAssets\Settings\banlist.txt, Adicionado: 0 [FileUserList] Loaded FileUserList de: C:\users\vrising\AppData\LocalLow\ Stunlock Studios\VRisingServer\Settings\banlist.txt, Adicionado: 0
Depois de ver algumas dessas mensagens empilhadas, é seguro pressionar CTRL-C para sair do aplicativo. Agora é hora da configuração!
Os principais arquivos com os quais você se preocupará serão estes:
Configurações do jogo
/game/vrising/vrising_files/VRisingServer_Data/StreamingAssets/Settings/ServerGameSettings.json
Configurações do servidor
/game/vrising/vrising_files/VRisingServer_Data/StreamingAssets/Settings/ServerHostSettings.json
Lista de administradores
/game/vrising/vrising_files/VRisingServer_Data/StreamingAssets/Settings/adminlist.txt
- As configurações do jogo são tudo o que está acontecendo no jogo. Ciclos diurnos e noturnos, taxas de colheita, etc.
- As configurações do servidor são coisas como senha de ingresso, nome/descrição do servidor, etc.
- A lista de administradores é apenas isso - eu me adicionei no meu servidor, mas honestamente ainda não a usei, então não tenho ideia do que você pode fazer com ela.
Edite os dois primeiros como achar melhor para ter seu jogo agradável. Para entrar no adminlist.txt, vá para steamid-dot-io, insira seu nome de usuário e pegue os números 'steamID64'. Coloque isso em uma linha por si só (um registro por linha se você tiver várias pessoas fazendo coisas administrativas) e salve/sair.
Agora você pode executar o jogo e realmente jogar nele.
Passo 5: Como usar 'screen' para executar o servidor
Agora que você tem o jogo pronto para rodar, como uma pessoa experiente em Linux, você saberá que há um problema. Assim que seu terminal/putty/qualquer sessão fechar, o jogo será cortado e você claramente não deseja deixar uma janela de terminal aberta o tempo todo. É aqui que entra um dos outros aplicativos que instalamos.
Execute este comando:
tela -t Linux
Parece que não fez nada, certo? Não exatamente. O shell agora está sendo executado em uma sessão destacável - o que significa que uma vez que você iniciar o servidor, você pode desanexá-lo, fechar a janela do terminal e voltar mais tarde. Para ver o que quero dizer, faça algo inofensivo como 'top'. Agora que você tem isso na tela, pressione 'CTRL-A', depois solte e pressione 'D'. Observe a mensagem 'separada de'. Agora execute 'ps -ef|grep top' e veja se ainda está rodando. Legal, certo? Para reconectar, você executará 'screen -x' e reconectará a ele na mesma sessão. Agora você pode sair do topo e, se sair dessa sessão, verá 'a tela está terminando'.
Então vamos colocar tudo isso junto para começar o jogo. Observe que o '-t Linux' está apenas dizendo à tela para usar uma determinada configuração TERM para coisas como cores e formatação de caracteres especiais, nada mais.
screen -t Linux xvfb-run --auto-servernum --server-args='-screen 0 640x480x24:32' wine /game/vrising/vrising_files/VRisingServer.exe -log
Isso iniciará o jogo e você pode deixá-lo em execução, teste-o tentando se conectar a partir de um sistema cliente.
Supondo que você esteja na mesma LAN que o servidor e não haja firewall configurado na caixa do Linux, inicie o jogo V Rising e faça o seguinte:
Jogar -> Jogar Online -> Encontrar Servidores -> Exibir todos os Servidores e Configurações -> Conexão Direta
Você será solicitado a inserir informações de IP/porta. Apenas o IP está bom. Se você definir uma senha nos arquivos de configuração, digite-a aqui para continuar. Se o jogo começar a carregar, parabéns, você está dentro!
Você deve ser capaz de ver a mensagem de conexão aparecer no terminal do servidor e rolar. Agora você pode CTRL-A, D na sessão. Seu jogo está em execução
Etapa 6: Como atualizar o servidor quando necessário
Quando precisar fazer alguma manutenção no sistema; atualização do jogo, atualização do sistema operacional, o que for. Basta acessar sua conta de servidor dedicado, executar 'screen -x' para se conectar à sessão e depois CTRL-C para fechar o jogo. O comando que executamos anteriormente para baixar o jogo será executado novamente aqui, validará nos servidores Steam e obterá todas as atualizações. Em seguida, execute o comando xvfb-run novamente para iniciar o jogo. Pedaco de bolo.
Sinta-se à vontade para colocar esses comandos em arquivos de script para que você não precise vasculhar o histórico do shell ou um arquivo txt salvo ou algo para copiar/colar. O mundo é sua ostra, aproveite.
Etapa 7: regras de firewall e encaminhamento de porta
A vida não estaria completa sem a dor de cabeça da segurança, certo?
Felizmente eu posso ajudar aqui também, também felizmente o jogo não usa uma tonelada métrica de portas como alguns outros que eu joguei. De qualquer forma, o arquivo ServerHostSettings.json fornece a dica principal aqui com os campos 'port' e 'queryport', mas não é tudo o que você precisa saber.
Você precisará aceitar/encaminhar/etc o seguinte:
- UDP: 9876
- UDP e TCP: 9877
Com essas duas portas abertas e encaminhando para/do seu servidor de jogo, amigos de todo o mundo podem se juntar a você e até poderão encontrar seu servidor na área principal de pesquisa da lista de servidores multijogador – usar algum identificador exclusivo no nome do servidor ajudará eles muito lá 😉
Para um roteador doméstico orientado por GUI, deve ser muito fácil conectar os números e você precisará consultar sua documentação para isso. Se você tem um gateway baseado em Linux como eu e precisa de comandos iptables diretos, eles devem ajudá-lo, modifique conforme necessário para sua rede doméstica. Estes são formatados a partir de um arquivo 'rules' para um serviço de firewall do debian, mas você pode simplesmente colocar 'iptables' na frente de cada linha e o resto de tudo ('-A' em diante) funcionará bem. 10.89.0.200 é o servidor do jogo na minha LAN.
-A INPUT -i eth0 -p udp -m udp --dport 9876 -j ACCEPT -A INPUT -i eth0 -p udp -m udp --dport 9877 -j ACCEPT -A INPUT -i eth0 -p tcp -m tcp --dport 9877 -j ACEITA -A FRENTE -d 10.89.0.200/32 -i eth0 -p udp -m udp --dport 9876 -j ACEITA -A FRENTE -d 10.89.0.200/32 -i eth0 -p udp - m udp --dport 9877 -j ACEITAR -A ENCAMINHAR -d 10.89.0.200/32 -i eth0 -p tcp -m tcp --dport 9877 -j ACEITAR
NOTA: Eu vou assumir que se você estiver usando as regras do iptables, você também tem o IP MASQ configurado corretamente. UPNP seria um bônus, mas não obrigatório.
Isso é tudo o que estamos compartilhando hoje para isso V Rising guia. Este guia foi originalmente criado e escrito por KriegTigerGenericName. Caso não consigamos atualizar este guia, você pode encontrar a atualização mais recente seguindo este link.