Un tutorial oficial para configurar un servidor dedicado para NEBULOSO: Comando de flota.
Cómo Empezar
Selección de servidor
Sin los aspectos de renderizado, los requisitos de rendimiento para N:FC son bastante modestos. Mis pruebas iniciales de la construcción del servidor dedicado utilizaron un Hostwinds VPS horrible de $ 15 con 1 núcleo y 2 GB de RAM. Pudimos completar algunos juegos de prueba 3v3 usando este servidor sin problemas significativos, pero si quieres que tus jugadores se diviertan, deberías buscar algo mejor.
Como mínimo, querrá 2 núcleos de CPU. El juego es principalmente de un solo subproceso debido a las limitaciones de Unity, pero algunos de nuestros procesos de ejecución prolongada, como la búsqueda de rutas, se realizan en un subproceso separado, ya que cada tarea de búsqueda de rutas puede tardar varios segundos en completarse en los mapas más complejos. Con un solo núcleo, experimentará bloqueos momentáneos cada vez que una tarea de búsqueda de caminos esté en progreso, como cuando cada bote salvavidas se lanza y calcula una ruta de escape.
Pudimos arreglárnoslas con 2 GB de RAM en una prueba inicial, pero te recomiendo que tengas al menos 4 para el servidor.
Para ayudarte a calcular tus necesidades con un ejemplo, los servidores oficiales se ejecutan en un VPS con un Ryzen 6X de 5900 núcleos con 16 GB de RAM. Tenemos dos de estos servidores y cada uno ejecuta 3 instancias del juego. El tráfico de red puede alcanzar un máximo de 10 Mbps de salida, con un tráfico de entrada insignificante.
Obtener los binarios
Actualmente, la compilación del servidor NO está disponible de manera conveniente. Todavía estamos en el proceso de hacer que la herramienta del servidor se pueda descargar de forma anónima a través de Steam y en coordinarnos con los proveedores de alojamiento para que el alojamiento esté disponible con un solo clic. Una vez que estén disponibles, esta sección se actualizará.
Mientras tanto, comuníquese conmigo a través del bot ModMail en nuestro discordia oficial para obtener acceso a la compilación del servidor.
Configuración del anfitrión
Esta sección cubrirá la configuración de su nuevo servidor.
Una vez que haya encontrado un proveedor de VPS que le gustaría usar y haya comprado su servidor (o configurado uno en una computadora de repuesto que tiene por algún motivo), deberá configurarlo. La construcción del servidor actualmente es Linux solo para ahorrar en los costos del servidor, ya que un sistema operativo Windows puede agregar hasta $ 10 por mes al alquiler de un servidor. Ejecuto los servidores oficiales en CentOS, pero puedes usar el sabor que quieras.
Si su proveedor no proporciona una interfaz FTP sencilla, deberá configurar un servicio FTP en su servidor. Si ha decidido usar CentOS, puede sigue esta guía para una fácil configuración.
También le recomiendo ENCARECIDAMENTE que configure un firewall si la instalación del sistema operativo no lo tenía por defecto. Cubriré los puertos que necesita abrir más tarde. Para aquellos de ustedes que nunca antes han ejecutado un servidor frente a Internet público, se sorprenderán de la frecuencia con la que su servidor será atacado por actores malintencionados que buscan convertir su servidor de juegos en un minero de bitcoin. Puedes seguir esta guía esta página.
Si está ejecutando su servidor fuera de su hogar o alguna otra red NAT, deberá recordar configurar el reenvío de puertos en su enrutador para los puertos que cubriremos más adelante.
Finalmente, no se recomienda ejecutar el juego como Root por razones de seguridad, por lo que debe crear un nuevo usuario con permisos limitados que actuará como usuario ejecutor.
Configuración del servidor
Esta sección cubrirá la configuración de la instancia del servidor dedicado N:FC. Tenga en cuenta que puede ejecutar varias instancias en un solo servidor si sus especificaciones son lo suficientemente altas.
Cargando la compilación
Una vez que tenga los binarios del servidor, deberá cargarlos en su servidor. Una vez que la descarga anónima de la herramienta Steam esté habilitada, puede omitir este paso.
La forma más fácil de hacer esto, una vez que haya configurado su servicio FTP, es descargar FileZilla y cargar la carpeta de compilación completa en la carpeta compartida. Una vez cargada la compilación, cópiela en un directorio de instalación de su elección:
cp -r /home/ftpuser/shared/Build_Server /installation/directory/you/want/ chown -R gameuser /installation/directory/you/want/ chmod +x /installation/directory/you/want/NebulousDedicatedServer
Archivo de configuración
Hay una configuración de servidor de ejemplo completamente comentada proporcionada con la compilación del servidor para que pueda comenzar. Tenga en cuenta que una vez que esté disponible la descarga automática con Steam, Steam rastreará este archivo y lo actualizará si lo cambia, por lo que se recomienda hacer una copia.
Cuando el servidor se inicie, buscará DedicatedServerConfig.xml en el directorio de instalación. También puede especificar un archivo de configuración diferente con el indicador -serverConfig. Esta opción existe para permitir que se ejecuten varias instancias sin necesidad de varias instalaciones distintas. Le recomiendo que mantenga su archivo de configuración fuera del directorio de instalación para que la actualización del servidor no lo borre.
El archivo de configuración se puede dividir en algunas secciones lógicas:
- Conceptos básicos del servidor: cosas como el nombre, MOTD, número de jugadores, puertos y administradores.
- Configuración del juego: escenario, límite de tiempo y otras reglas del juego.
- Rotación de mapas: mapas disponibles y cómo funciona la rotación.
- Bots: para servidores PVE.
- Mods: mods disponibles y si se permiten flotas modificadas.
Puede dejar la sección Administrador en blanco, pero si desea poder controlar su servidor cuando esté en el lobby, deberá registrarse aquí. Usa tu ID de Steam de 64 bits.
Filtrado de puertos
Si configura un firewall (como debería haberlo hecho), deberá abrir los puertos apropiados para que las computadoras externas se conecten a su servidor. Hay dos puertos principales que deben abrirse. El puerto de juego predeterminado es 7777 TCP, y es por donde fluye todo el tráfico del juego. El puerto de consulta de Steam predeterminado es 27016 UDP, que es necesario para que el navegador del servidor consulte su servidor. Use cualquier puerto que coloque en su archivo de configuración.
Desbloquee estos puertos así:
cortafuegos-cmd --permanente --añadir-puerto 7777/tcp cortafuegos-cmd --permanente --añadir-puerto 26017/udp systemctl reiniciar firewalld
Recuerde reenviar estos puertos en su enrutador si está ejecutando el servidor dentro de su red doméstica.
Ejecutando su servidor
Suponiendo que todo lo anterior se haya hecho correctamente, ¡debería poder iniciar su servidor ahora! Puede ejecutar el servidor con el siguiente comando:
NOTA: Cuando inicie su servidor, recibirá absolutamente spam con una pared de errores sobre sombreadores faltantes. Aparentemente, esta es una "característica" de Unity y han dicho repetidamente en sus foros que no se solucionará. Puede ignorarlos con seguridad, aunque hace que sea muy difícil detectar errores legítimos reales que podrían estar impidiendo que su servidor se inicie correctamente.
/instalación/directorio/usted/quiere/NebulousDedicatedServer -nographics -batchmode -logFile /ruta/a/su/log/server.log -serverConfig /ruta/a/su/servidor/ServerConfig.xml
Sin embargo, esto hará que su terminal se mantenga ocupado con el servidor en ejecución y cerrar su terminal matará al servidor. Puede poner un & después del comando para que se ejecute en segundo plano, o puede hacer un pequeño esfuerzo adicional en la siguiente sección para facilitar la administración de su servidor.
Configuración de un servicio (opcional)
Los servicios son procesos que se controlan a través del demonio systemctl. Puede crear un proceso para cualquier binario que desee con un archivo de configuración especial. Hacer esto le permitirá iniciar, completar y verificar el estado de su servidor de juegos fácilmente.
Archivo de servicio
Los servicios se definen mediante archivos .service y se almacenan en muchas ubicaciones. Para este tutorial lo colocaremos en /etc/systemd/system/.
Este archivo creará un servicio simple para nuestro servidor N:FC. Guarde este archivo como neb-server.service
[Unidad] Descripción=Servidor Dedicado Nebulous Después=network.target [Instalar] WantedBy=multi-user.target [Servicio] Tipo=simple ExecStart=/instalación/directorio/usted/quiere/NebulousDedicatedServer -nographics -batchmode -logFile /ruta/ to/your/log/server.log -serverConfig /path/to/your/server/ServerConfig.xml WorkingDirectory=/installation/directory/you/want/ User=gameuser Group=gameuser Restart=siempre RestartSec=30
Asegúrese de reemplazar todas las rutas con las apropiadas que desea usar.
Una vez que haya escrito este archivo y lo haya copiado en el directorio correcto, debe volver a cargar el demonio systemctl:
systemctl daemon-reload
Luego puede usar estos comandos para administrar su servicio:
systemctl iniciar neb-servidor systemctl estado neb-servidor systemctl detener neb-servidor
También puede configurar su servidor de juegos para que se inicie automáticamente cuando el servidor se inicia inicialmente con este comando:
systemctl habilitar --ahora neb-servidor
Una nota sobre las modificaciones
Los mods son un tema precario para los servidores dedicados debido a su largo tiempo de actividad y al hecho de que los mods de Workshop se actualizan automáticamente para los jugadores. Si se actualiza un mod de taller y un cliente tiene el mod actualizado, pero el servidor ha estado funcionando durante una semana y, por lo tanto, no ha recibido la actualización, podría haber un comportamiento inusual. Como siempre, las modificaciones se usan bajo su propio riesgo.
Hay algunos detalles a tener en cuenta si elige usar mods.
Descarga de mods
Actualmente hay un problema con la compilación del servidor dedicado en el que a veces no se pueden descargar mods. Parece variar según la computadora. Ejecutar el servidor para probarlo en mi propia computadora resultó en la descarga de las modificaciones, pero no se ejecutaron en las máquinas del servidor oficial. Me vi obligado a copiar todas las modificaciones manualmente en el servidor. Para inicios de sesión anónimos en Steam, que es lo que usa el servidor, sus mods se descargan en el directorio de instalación en steamapps/workshop/content/887570/ .
Mapas modificados
Los mapas fueron los mods probados con más frecuencia durante el desarrollo de los servidores dedicados y funcionan bien. Lo único que debe recordar aquí es que debe especificar el número de identificación del mod en el sección de su archivo de configuración, o no se cargará y, por lo tanto, el mapa no se podrá utilizar.
Modificaciones de casco y componentes
Por razones de seguridad, los servidores dedicados no cargarán mods que no estén incluidos en la lista de mods del archivo de configuración. Si planea permitir flotas modificadas en su servidor, debe enumerar explícitamente cada una de las que está autorizando en su lista de modificaciones, así como establecer la configuración AllowModdedFleets en verdadero.
Eso es todo lo que estamos compartiendo hoy para este NEBULOSO: Comando de Flota guía. Esta guía fue originalmente creada y escrita por Mártir_de_Kharak. En caso de que no actualicemos esta guía, puede encontrar la última actualización siguiendo este liga.