Actualmente, solo hay disponible una versión de Windows de V Rising Server. Sin embargo, es posible ejecutar el servidor en un sistema Linux usando vino.
Introducción y requisitos previos
Poco después de comprar este juego y jugar un rato en el modo de un solo jugador, quise jugar con amigos. Y como ya tenía un VPS (con CentOS instalado) a mi disposición, pensé por qué no usarlo. Así que leí la guía oficial y descubrí que solo hay un servidor ejecutable para Windows. Recordé otras guías que había visto que mostraban cómo usar Wine para ejecutar ejecutables de Windows y decidí probar con este juego y funcionó. Así que aquí está mi guía sobre cómo hacerlo. Como dije antes y en el título, hice esto en un sistema CentOS, pero supongo que esta solución en principio también funcionaría en otras distribuciones de Linux.
Traté de hacer esta guía fácilmente comprensible para todos. Lo único que necesita saber es cómo usar la terminal y cómo editar archivos. CentOS viene con vi como un editor de texto que se puede usar para seguir esta guía, pero la explicación sobre cómo usar vi no forma parte de esta guía.
En esta guía, los comandos comienzan con $, # o >. Los comandos que comienzan con # deben ejecutarse cuando se inicia sesión como root o se usa sudo. Los comandos con $ pueden ser ejecutados por un usuario normal y los comandos con > son comandos para steamcmd. $, #, > no forman parte de los comandos reales.
Requisitos
Para ejecutar el servidor necesitaremos vino y xvfb. Wine se usa para ejecutar ejecutables de Windows en LInux y usaremos xvfb para crear un monitor virtual, por lo que no tenemos que tener un monitor real conectado al servidor.
También necesitamos steamcmd para descargar y actualizar los archivos del servidor. Instale los requisitos de steamcmd con:
# yum instalar glibc.i686 libstdc++.i686 -y
La forma más fácil de instalar Wine es usando el Repositorio EPEL, así que lo agregamos así:
# yum instala epel-release -y
Luego para instalar vino y xvfb:
# yum instalar vino -y # yum instalar xorg-x11-servidor-Xvfb -y
Instalando steamcmd
Antes de instalar steamcmd o el servidor, debemos crear un usuario que usaremos para ejecutar steamcmd y luego el propio servidor del juego. Usar el usuario raíz para steamcmd o el servidor del juego es un riesgo de seguridad. Llamaré a este usuario steam, pero puedes elegir el nombre que quieras.
Cree el usuario e inicie sesión como este nuevo usuario:
# usuario agregar vapor # su vapor
Luego nos movemos al directorio de inicio del nuevo usuario y creamos un directorio en el que instalaremos steamcmd y otro directorio para el servidor del juego:
$ cd $ mkdir steamcmd $ cd steamcmd $ mkdir VRising
Ahora descargamos y extraemos el steamcmd:
$ curl -sqL "https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz" | alquitrán zxvf -
Instalación del servidor del juego
Iniciamos steamcmd usando el script que se extrajo en el paso anterior:
$ ./steamcmd.sh
La primera vez que inicie steamcmd llevará algún tiempo y descargará actualizaciones. Una vez finalizada la actualización, podemos usar steamcmd y, como primer paso, especificamos el directorio creado previamente como el directorio de instalación del juego:
> force_install_dir VRising
Antes de descargar los archivos del servidor, debemos iniciar sesión en Steam, pero podemos usar el inicio de sesión anónimo:
> inicio de sesión anónimo
La ID de la aplicación para el servidor V Rising es 1829350, por lo que podemos instalar el servidor de esta manera:
> actualización_aplicación 1829350
Después de que el servidor haya sido instalado, escriba
> salir
para salir de steamcmd.
Ejecutar y configurar el servidor del juego
Mover al directorio donde instalamos el servidor:
$ cd VRaumento
Y luego inicie el servidor así:
$ exportar WINEARCH=win64 $ xvfb-run --auto-servernum --server-args='-screen 0 640x480x24:32' wine VRisingServer.exe -persistentDataPath ./save-data -logFile server.log
Esto iniciará el servidor y creará el juego guardado en el directorio que especificamos en el comando anterior como ruta de datos persistentes, en este caso, la carpeta de datos guardados.
Espere un poco y luego cierre el servidor nuevamente presionando Ctrl-C.
Configuración
Cree la carpeta Configuración dentro del directorio de datos guardados:
$ mkdir save-data/Configuración
Ahora copiamos la configuración predeterminada a este nuevo directorio:
$ cp VRisingServer_Data/StreamingAssets/Settings/*.json save-data/Configuración
La carpeta Configuración ahora contiene dos archivos de configuración, ServerHostSettings.json para la configuración del host como el nombre del servidor, la contraseña, los puertos, etc. y ServerGametSettings.json para la configuración del juego, como las tasas de creación, los multiplicadores de daño, etc.
Puede usar su editor de texto preferido para editar la configuración en esos archivos.
Usando systemd para controlar el servidor
Ahora podríamos usar el comando que usamos antes para iniciar el servidor, pero esto requeriría que siempre mantengamos abierta la terminal que estamos usando para mantener el servidor en funcionamiento. En su lugar, systemd configurará el servidor como un servicio que se ejecuta en segundo plano.
Para facilitar las cosas, primero crearemos un script de shell para iniciar el servidor. Cree un nuevo archivo utilizando un editor de texto de su elección con el siguiente contenido:
#!/bin/bash export WINEARCH=win64 /usr/bin/xvfb-run --auto-servernum --server-args='-screen 0 640x480x24:32' /usr/bin/wine VRisingServer.exe -persistentDataPath server1_saves/ -logArchivo servidor.log
Guarde el archivo como run_server.sh en el directorio del servidor del juego. Convierta el archivo en un ejecutable con este comando:
$ chmod ug+x ejecutar_servidor.sh
Esto es todo lo que tenemos que hacer como usuario de Steam. Ahora podemos volver a cambiar a un usuario con privilegios de root usando
$ salida
Cree un nuevo archivo para el servicio systemd con el siguiente contenido:
[Unidad] After=network.target [Servicio] Usuario=steam Group=steam WorkingDirectory=/home/steam/steamcmd/VRising ExecStart=/home/steam/steamcmd/VRising/run_server.sh [Instalación] WantedBy=multiusuario. objetivo
y guardar el archivo como
/etc/systemd/system/VRising.servicio
Ahora podemos usar systemctl para iniciar y detener el servidor. Para iniciar el uso del servidor:
# systemctl iniciar VRising
Si queremos detener el servidor podemos usar:
# systemctl detener VRising
También podemos comprobar si el proceso aún se está ejecutando:
# estado systemctl VRising
Tenga en cuenta que si el servidor falla, esto aún podría mostrar que el proceso está activo porque solo el proceso del servidor se bloqueó, pero Wine aún se está ejecutando.
Configuración del cortafuegos
Ahora que tenemos el servidor funcionando usando systemd, lo único que queda por hacer es configurar el firewall.
A menos que haya cambiado esto en ServerHostSettings.json, el juego usa los puertos udp 9876 y 9877.
Agregue reglas para estos dos puertos al firewall:
# cortafuegos-cmd --add-port=9876/udp # cortafuegos-cmd --add-port=9877/udp
Luego persistimos las nuevas reglas para que el puerto permanezca abierto incluso después de reiniciar y recargar el firewall:
# firewall-cmd --runtime-to-permanent # firewall-cmd --reload
actualizando el juego
Actualizar es simple. Primero apague el servidor y, al igual que cuando instaló el juego, inicie sesión en el usuario que creamos para steamcmd e inicie steamcmd:
# systemctl detener VRising # su vapor $ cd ~/steamcmd $. ./steamcmd
Inicie sesión en el perfil anónimo de Steam, actualice el juego, espere a que finalice la actualización y cierre steamcmd:
> inicio de sesión anónimo > app_update 1829350 > salir
El juego ahora está actualizado y podemos iniciar el servidor nuevamente.
# systemctl iniciar VRising
Eso es todo lo que estamos compartiendo hoy para este V Rising guía. Esta guía fue originalmente creada y escrita por Shiranai. En caso de que no actualicemos esta guía, puede encontrar la última actualización siguiendo este liga.
¡Boa tarde, mi amigo!
¿Cuál sería la versión de su CentOS?
Tengo un problema al ejecutar Systemctl start VRising.service, genera el error 127 https://imgur.com/a/C5XrETN
Tienes que separar las líneas.
p.ej
No ayuda, sigo teniendo el mismo problema.
¿Es suficiente cuando se ejecuta en el nivel gratuito de EC 2 que es de 1 GB de memoria?
1 núcleo - 2 procesos - 1 GB de memoria
4 jugadores comienzan a retrasarse, ese contenedor se puede usar para probar algo... no para un servidor multijugador