Tutoriais de VPS
Montar um servidor dedicado de V Rising em uma VPS (2026): 1.1, Wine, SteamCMD, portas, backups e atualizações
O V Rising 1.1 atualmente só oferece servidor dedicado para Windows. Este artigo mostra como baixar o depot do Windows com o SteamCMD em uma VPS com Ubuntu 24.04, executá-lo com Wine, configurar portas, systemd, administradores, backups, restauração e atualizações, além de solucionar problemas de conexão e de versões incompatíveis.

Se você quer jogar V Rising com amigos a longo prazo, o anfitrião abrir um "jogo privado" normalmente só resolve o problema desta noite: quando o anfitrião sai, o mundo também para; depois de uma atualização de versão, quem atualizar primeiro pode ficar temporariamente sem conseguir entrar. Colocar um servidor dedicado em uma VPS mantém o mundo rodando continuamente e permite gerenciar administradores, saves, janelas de atualização e backups separadamente.
Este artigo usa Ubuntu 24.04 LTS, SteamCMD, Wine e systemd como exemplo para implantar o servidor dedicado atual da versão PC 1.1.x. Vamos deixar a limitação clara desde o início: a documentação oficial do servidor dedicado da Stunlock Studios diz explicitamente que atualmente só existe servidor para Windows. Por isso a solução para Linux abaixo depende da camada de compatibilidade Wine e não é uma distribuição oficial nativa para Linux. Se você quer o mínimo de complicação, escolha uma VPS com Windows ou um painel de hospedagem de jogos; se quer controlar custos, backups e detalhes operacionais, use a solução deste artigo.
Até agosto de 2026, o repositório oficial marca a versão atual de PC como 1.1.x, e o branch padrão é o servidor atual. O SteamCMD baixa o servidor dedicado usando o App ID 1829350, enquanto o jogo em execução usa o App ID do cliente do jogo; não misture os dois nos comandos de atualização.
A documentação oficial da 1.1.x atualmente traz estes exemplos de portas:
| Porta | Protocolo | Uso | Aberta à internet pública |
|---|---|---|---|
| 27015 | UDP | Tráfego do jogo Port | Sim |
| 27016 | UDP | Consultas da lista da Steam QueryPort | Abra se quiser aparecer na lista |
| 25575 | TCP | RCON | Não é aberta diretamente, desativada por padrão |
Muitos tutoriais antigos ainda usam 9876/9877. As portas em si podem ser alteradas, mas ServerHostSettings.json, o UFW e o grupo de segurança do provedor de nuvem precisam ficar consistentes. Este artigo usa o exemplo oficial atual 27015/27016 UDP do início ao fim.
O servidor de V Rising não é tolerante com desempenho de núcleo único nem com memória, e o Wine ainda consome mais uma camada de recursos. Abaixo estão valores iniciais mais seguros na hora de comprar uma VPS, não garantias oficiais de desempenho:
| Cenário | Ponto de partida sugerido | Disco | Observações |
|---|---|---|---|
| PvE vanilla de 2–4 jogadores | 4 vCPUs de alto desempenho, 8 GB de RAM | 50 GB NVMe | Adequado para um grupo pequeno fixo |
| Mundo de longo prazo de 5–10 jogadores | 4–6 vCPUs de alto desempenho, 12–16 GB de RAM | 80 GB NVMe | Deixa margem para Wine, saves e backups |
| Mais de 10 jogadores ou PvP com multiplicadores altos | 6–8 núcleos de alto desempenho, 16 GB+ de RAM | 100 GB+ NVMe | Faça teste de carga antes de decidir o limite de jogadores |
Não olhe só para o rótulo "8 núcleos". Servidores de jogos sofrem mais com desempenho ruim de núcleo único, roubo de CPU e oscilação de latência do disco. O data center deve ficar o mais próximo possível dos jogadores principais; se seus amigos estão todos na China continental, primeiro veja configuração e escolha de rotas de VPS para servidores de jogos e depois decida se compra na costa oeste dos EUA, no Japão ou em outra região.
| Solução | Vantagens | Custo | Para quem |
|---|---|---|---|
| VPS com Windows | Igual ao ambiente oficial do servidor | Custo de licença e memória costuma ser maior | Para quem não quer lidar com compatibilidade do Wine |
| Ubuntu + Wine | Sobrecarga do sistema controlável, scripts e backups transparentes | É preciso verificar a compatibilidade do Wine após atualizações do jogo | Administradores de servidor único familiarizados com SSH |
| Pterodactyl | Painel web, múltiplas instâncias, permissões e cotas práticas | Ainda é preciso manter Panel, Wings e Eggs | Vários jogos, vários administradores |
Se a mesma máquina também vai rodar Minecraft, Rust ou Valheim, você pode consultar diretamente a implantação do painel de servidores de jogos Pterodactyl. Se você roda apenas um servidor de V Rising, SteamCMD + systemd facilita ver logs, configuração e local dos saves.
Primeiro atualize o sistema e instale os componentes necessários para o SteamCMD e o ambiente de execução do Wine:
sudo apt update
sudo apt upgrade -y
sudo apt install -y curl ca-certificates tar lib32gcc-s1 lib32stdc++6 \
wine xvfb ufw jq
command -v wine
wine --version
Crie uma conta de serviço que não possa fazer login diretamente com senha e um diretório fixo:
sudo adduser --system --group --home /home/vrising --shell /bin/bash vrising
sudo install -d -o vrising -g vrising /opt/steamcmd
sudo install -d -o vrising -g vrising /opt/vrising-server
sudo install -d -o vrising -g vrising /srv/vrising/wine
sudo install -d -o vrising -g vrising /srv/vrising/persistent/Settings
sudo install -d -o vrising -g vrising /srv/vrising/persistent/logs
sudo install -d -m 750 -o root -g vrising /var/backups/vrising
Não execute o jogo como root. Um usuário dedicado evita que o prefixo do Wine, os arquivos do servidor e os saves sejam assumidos pelo root, e também reduz o escopo de privilégios se o serviço for comprometido.
Inicialize um prefixo Wine dedicado:
sudo -u vrising env WINEPREFIX=/srv/vrising/wine \
xvfb-run -a wineboot -u
xvfb-run fornece um ambiente de exibição virtual, evitando o erro do Wine de não conseguir conectar a um display em uma VPS sem desktop. A primeira inicialização do Wine é mais lenta que as inicializações do dia a dia, então espere o comando terminar antes de continuar.
Troque para a conta de serviço e baixe a versão Linux do SteamCMD da Valve:
sudo -iu vrising
cd /opt/steamcmd
curl -fsSL https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz \
-o steamcmd_linux.tar.gz
tar -xzf steamcmd_linux.tar.gz
./steamcmd.sh +quit
O próprio SteamCMD usa a versão Linux; só na hora de baixar de fato o servidor você força a plataforma Windows. Assim você não precisa rodar outro SteamCMD para Windows dentro do Wine.
Execute o comando abaixo:
/opt/steamcmd/steamcmd.sh \
+@sSteamCmdForcePlatformType windows \
+force_install_dir /opt/vrising-server \
+login anonymous \
+app_update 1829350 validate \
+quit
Após a instalação, verifique os arquivos principais e o registro de build:
test -f /opt/vrising-server/VRisingServer.exe
grep -n 'buildid' /opt/vrising-server/steamapps/appmanifest_1829350.acf
du -sh /opt/vrising-server
exit
Se app_update indicar que a plataforma não é suportada, primeiro confirme que @sSteamCmdForcePlatformType windows está antes dos comandos de login e atualização. Não troque por um pacote integrado de origem desconhecida nem copie um diretório de instalação antigo do servidor de outra pessoa.
A recomendação oficial é não modificar diretamente a configuração padrão no diretório de instalação, porque as atualizações do SteamCMD podem sobrescrevê-la. Coloque o arquivo personalizado no diretório indicado por -persistentDataPath:
sudo -u vrising nano /srv/vrising/persistent/Settings/ServerHostSettings.json
Primeiro escreva uma configuração PvE fácil de verificar:
{
"Name": "My V Rising 1.1 Server",
"Description": "Private PvE server on VPS",
"Port": 27015,
"QueryPort": 27016,
"MaxConnectedUsers": 10,
"MaxConnectedAdmins": 2,
"ServerFps": 30,
"LowerFPSWhenEmpty": true,
"LowerFPSWhenEmptyValue": 5,
"Password": "REPLACE_WITH_A_LONG_PLAYER_PASSWORD",
"Secure": true,
"ListOnEOS": true,
"ListOnSteam": true,
"GameSettingsPreset": "StandardPvE",
"GameDifficultyPreset": "Difficulty_Normal",
"SaveName": "world1",
"AutoSaveCount": 50,
"AutoSaveInterval": 120,
"ResetDaysInterval": 0,
"Rcon": {
"Enabled": false,
"Port": 25575,
"BindAddress": "127.0.0.1"
}
}
Valide o JSON primeiro e depois inicie o serviço:
jq empty /srv/vrising/persistent/Settings/ServerHostSettings.json
sudo chown vrising:vrising /srv/vrising/persistent/Settings/ServerHostSettings.json
sudo chmod 640 /srv/vrising/persistent/Settings/ServerHostSettings.json
Não reutilize a senha de jogador para SSH, painel ou RCON. Você pode gerá-la com openssl rand -base64 24. Servidores públicos devem manter Secure: true; mesmo que você jogue só com amigos fixos, também é recomendável definir uma senha de jogador.
ServerGameSettings.json controla multiplicadores de recursos, duração do dia e da noite, limites de castelo, PvP e dificuldade. Para um servidor novo, primeiro faça funcionar com o preset StandardPvE ou StandardPvP, e não cole de imediato um JSON completo de dois anos atrás.
Quando precisar de ajustes finos, copie o arquivo padrão do pacote de instalação atual para o diretório persistente:
sudo -u vrising cp \
/opt/vrising-server/VRisingServer_Data/StreamingAssets/Settings/ServerGameSettings.json \
/srv/vrising/persistent/Settings/ServerGameSettings.json
sudo -u vrising nano /srv/vrising/persistent/Settings/ServerGameSettings.json
jq empty /srv/vrising/persistent/Settings/ServerGameSettings.json
Altere apenas alguns campos por vez e confira os logs após iniciar. Se quiser usar regras de jogo totalmente personalizadas, confirme que GameSettingsPreset não vai sobrescrevê-las; especialmente ao migrar saves antigos, não misture presets novos com configurações de mundo antigas.
Execute uma vez em primeiro plano primeiro; bibliotecas do Wine ausentes, erros de JSON e problemas de caminho dos saves vão aparecer diretamente:
sudo -u vrising env \
WINEPREFIX=/srv/vrising/wine \
WINEDEBUG=-all \
xvfb-run -a wine /opt/vrising-server/VRisingServer.exe \
-persistentDataPath 'Z:\srv\vrising\persistent' \
-logFile 'Z:\srv\vrising\persistent\logs\VRisingServer.log'
A primeira criação do mundo pode levar alguns minutos. Abra outra janela SSH para observar os logs e as portas:
tail -f /srv/vrising/persistent/logs/VRisingServer.log
sudo ss -lunp | grep -E ':27015|:27016'
Depois de ver o servidor se conectar com sucesso à plataforma, o mundo terminar de carregar e as portas em escuta, pare-o normalmente com Ctrl+C. Confirme que os dados já apareceram:
sudo -u vrising find /srv/vrising/persistent -maxdepth 4 -type f | sort | head -n 120
sudo du -sh /srv/vrising/persistent
Se o Wine sair imediatamente após iniciar, primeiro remova WINEDEBUG=-all e execute de novo; não fique só olhando o status resumido do systemd.
Crie a unit de serviço:
sudo nano /etc/systemd/system/vrising.service
Escreva:
[Unit]
Description=V Rising Dedicated Server via Wine
Wants=network-online.target
After=network-online.target
[Service]
Type=simple
User=vrising
Group=vrising
WorkingDirectory=/opt/vrising-server
Environment=WINEPREFIX=/srv/vrising/wine
Environment=WINEDEBUG=-all
ExecStart=/usr/bin/xvfb-run -a /usr/bin/wine /opt/vrising-server/VRisingServer.exe -persistentDataPath Z:\\srv\\vrising\\persistent -logFile Z:\\srv\\vrising\\persistent\\logs\\VRisingServer.log
Restart=on-failure
RestartSec=20
KillSignal=SIGINT
TimeoutStopSec=180
LimitNOFILE=65535
NoNewPrivileges=true
PrivateTmp=true
[Install]
WantedBy=multi-user.target
Carregue e inicie:
sudo systemctl daemon-reload
sudo systemctl enable --now vrising
sudo systemctl status vrising --no-pager
sudo journalctl -u vrising -n 200 --no-pager
tail -n 200 /srv/vrising/persistent/logs/VRisingServer.log
A recomendação oficial é reiniciar o servidor periodicamente; no dia a dia, você pode agendar os reinícios na janela de manutenção com menos jogadores. Se o systemd mostrar active (running) mas os logs não tiverem terminado de carregar o mundo, ainda não conta como inicialização bem-sucedida.
Primeiro libere a porta SSH atual e depois abra as portas do jogo:
sudo ufw allow OpenSSH
sudo ufw allow 27015/udp comment 'V Rising game'
sudo ufw allow 27016/udp comment 'V Rising query'
sudo ufw enable
sudo ufw status numbered
O grupo de segurança do provedor de nuvem também precisa adicionar as mesmas regras de entrada UDP. Liberar só no UFW e esquecer o grupo de segurança, ou escrever UDP como TCP por engano, são causas comuns de "o serviço está rodando mas não dá para acessar de fora". Você pode verificar camada por camada com a lista de verificação de portas, firewall e grupos de segurança.
O RCON usa TCP. Neste artigo ele fica desativado por padrão; se realmente precisar, defina uma senha forte e mantenha BindAddress: 127.0.0.1, e acesse por um túnel SSH:
ssh -L 25575:127.0.0.1:25575 your-user@VPS_IP
Não execute ufw allow 25575/tcp para expor o RCON para toda a internet.
Escreva os Steam IDs dos administradores, um por linha, no diretório persistente:
sudo -u vrising nano /srv/vrising/persistent/Settings/adminlist.txt
Não é preciso reiniciar após a alteração. Os administradores ativam o console nas configurações do jogo, pressionam ~ para abri-lo e então executam:
adminauth
Os comandos de administração listados oficialmente no momento incluem kick, banuser, bancharacter, banned e unban. As operações de banimento atualizam o banlist.txt no mesmo diretório Settings. Não escreva apelidos nem nomes de personagem do jogo como Steam ID.
O salvamento automático não é um backup externo. A documentação oficial recomenda explicitamente fazer backups com frequência e antes de aplicar patches. O mais seguro é parar o servidor primeiro para que a última gravação em disco termine e depois empacotar o diretório persistente:
sudo systemctl stop vrising
sudo tar -C /srv/vrising -czf \
/var/backups/vrising/vrising-$(date +%F-%H%M%S).tar.gz \
persistent
sudo systemctl start vrising
sudo find /var/backups/vrising -type f -name 'vrising-*.tar.gz' \
-mtime +14 -delete
No mínimo, sincronize o backup para outra máquina ou armazenamento de objetos. Se a VPS for excluída por engano, o /var/backups no mesmo disco desaparece junto.
Ao restaurar, não sobrescreva um mundo em execução:
sudo systemctl stop vrising
sudo mv /srv/vrising/persistent /srv/vrising/persistent.before-restore
sudo tar -C /srv/vrising -xzf /var/backups/vrising/vrising-YYYY-MM-DD-HHMMSS.tar.gz
sudo chown -R vrising:vrising /srv/vrising/persistent
sudo systemctl start vrising
O diretório de versão persistente dos saves atuais de PC 1.1.x é Saves/v4. Ao migrar de um mundo privado local, copie todo o diretório do mundo correspondente e mantenha primeiro a cópia original, depois faça SaveName apontar para o nome do diretório migrado.
Crie um script de atualização:
sudo nano /usr/local/sbin/update-vrising
Escreva:
#!/usr/bin/env bash
set -euo pipefail
systemctl stop vrising
tar -C /srv/vrising -czf \
/var/backups/vrising/vrising-preupdate-$(date +%F-%H%M%S).tar.gz \
persistent
sudo -u vrising /opt/steamcmd/steamcmd.sh \
+@sSteamCmdForcePlatformType windows \
+force_install_dir /opt/vrising-server \
+login anonymous \
+app_update 1829350 validate \
+quit
systemctl start vrising
systemctl --no-pager --full status vrising
Conceda permissões e execute manualmente:
sudo chmod 750 /usr/local/sbin/update-vrising
sudo /usr/local/sbin/update-vrising
Não atualize diretamente com jogadores online, nem se baseie apenas no código de saída do script. Após atualizar, confirme que os logs terminaram de carregar o mundo e faça um cliente realmente entrar uma vez. O Wine é uma camada extra de compatibilidade, então após atualizações de versão maior do jogo é ainda mais importante manter o diretório do servidor antigo e os saves anteriores à atualização, para ter margem de reversão se surgirem problemas de compatibilidade.
Confirme que ListOnEOS ou ListOnSteam está ativado, que 27015 e 27016 são UDP e que o UFW e o grupo de segurança da nuvem liberam ambos ao mesmo tempo. Um servidor novo pode levar alguns minutos para aparecer na lista; ao solucionar problemas, primeiro teste VPS_IP:27015 com a função de conexão direta do jogo.
Primeiro execute no servidor:
sudo systemctl status vrising --no-pager
sudo ss -lunp | grep -E ':27015|:27016'
sudo ufw status numbered
tail -n 250 /srv/vrising/persistent/logs/VRisingServer.log
Se nenhuma porta estiver em escuta, o problema está no serviço ou na configuração; se a escuta local estiver normal mas a rede externa der timeout, foque no grupo de segurança, no protocolo e no IP público; se você vê o handshake mas a conexão cai rápido, verifique então as versões do cliente e do servidor.
O servidor e todos os clientes precisam estar em versões compatíveis. Pare o serviço, execute app_update 1829350 validate de novo, confira o build ID de appmanifest_1829350.acf e confirme que o cliente não ficou em um branch antigo. Não apague seu único save para "corrigir a versão".
Primeiro execute:
jq empty /srv/vrising/persistent/Settings/ServerHostSettings.json
jq empty /srv/vrising/persistent/Settings/ServerGameSettings.json
sudo journalctl -u vrising -n 250 --no-pager
Se o segundo arquivo ainda não foi criado, verifique apenas a configuração de Host. Uma vírgula a mais no JSON, aspas de largura total chinesas ou campos copiados inteiros de uma versão antiga podem causar falha na inicialização.
Primeiro veja os logs completos e depois execute manualmente em primeiro plano. Se aparecerem erros de display ou de permissão do prefixo do Wine, verifique se xvfb-run está instalado e se WINEPREFIX pertence ao usuário vrising:
sudo chown -R vrising:vrising /srv/vrising/wine /srv/vrising/persistent
sudo systemctl reset-failed vrising
sudo systemctl restart vrising
Para problemas gerais de arquivos Unit, continue com solução de problemas de falha na inicialização de serviços systemd.
- O servidor vem do App ID
1829350do SteamCMD, não de um pacote integrado de terceiros. - Você aceitou explicitamente o custo de manutenção de "o oficial só oferece servidor para Windows e o Linux depende do Wine".
ServerHostSettings.json, o UFW e o grupo de segurança usam as mesmas portas UDP.- O RCON fica desativado por padrão; ao ativar, vincule apenas ao localhost e use uma senha forte separada.
adminlist.txtcontém Steam IDs, um por linha.- O backup inclui todo o diretório persistente e mantém uma cópia em outra máquina ou armazenamento de objetos.
- Pare o servidor e faça backup antes de atualizar; após atualizar, confira os logs e entre de fato no servidor.
Se o seu grupo tem só 2–4 jogadores, 4 vCPUs de alto desempenho e 8 GB de RAM podem servir como ponto de partida para testes; para um servidor de longo prazo ou conforme o número de jogadores aumentar, amplie com base nos picos de processos do Wine, no crescimento dos saves e na latência real. Primeiro faça funcionar a versão vanilla, os multiplicadores padrão, as portas e os backups, e depois adicione mods ou configurações de multiplicadores altos; a solução de problemas vai economizar muito tempo.