Implementación rápida del servidor Minecraft



Cuando juegas a Minecraft solo, siempre llega el momento en que quieres agregar amigos a tu mundo. Construye varios edificios con ellos, emprende un viaje, mata a un dragón juntos o descubre nuevos mundos. Y entonces surge una pregunta lógica: ¿cómo crear su propio servidor? Hasta ahora, solo he usado servidores Linux para juegos. Y luego decidí probar un servidor listo para usar del Marketplace en Windows sin una interfaz gráfica (PowerShell puro). Me parece que se reunieron todos los rakes posibles, pero salí victorioso de la batalla con Windows Server.



Desplegamos el servidor



Tengo algo de experiencia en la creación de servidores de Minecraft para Linux y, en general, en la administración de Linux, pero no tenía ni idea de qué hacer con Windows. Quizás incluso le cuente algunas cosas del capitán, pero para mí fueron una revelación. La mayor revelación para mí fue PowerShell. Ni siquiera puedo transmitir todas las emociones de usar Windows en modo consola. Microsoft hizo que todo fuera lo más inconveniente posible. ¿Por qué fue imposible sacar lo mejor de los sistemas * nix, implementarlos y mejorarlos? ¿Por qué no podemos admitir ssh, un sistema de comando compatible con posix? ¿Para qué es esta bicicleta?



Pero después de un tiempo, incluso comenzó a disfrutar un poco de la interfaz e incluso a ver algún tipo de lógica. En general, pasar de Windows a Linux fue mucho más fácil que hacerlo de nuevo.



Entonces, creé el servidor en nuestroMercado :







Después de hacer clic en él, hay una pequeña instrucción sobre cómo usarlo. Pero resultó ser insuficiente y en muchos sentidos tuve que resolverlo yo mismo.







Mi práctica de crear servidores ha demostrado que un servidor de Minecraft requiere al menos dos núcleos, preferiblemente más de 4 GB de RAM. En general, todo puede funcionar en un solo núcleo, incluso con 2 GB de RAM, pero con una gran cantidad de objetos, puede haber frenos y saltos.



Personalmente, vi esto en una granja de pollos, cuando tenía más de unos cientos de pollos. Entonces el servidor realmente comenzó a ralentizarse.





Caja de la batería



Después de crear el servidor, después de unos minutos tendremos la dirección IP del servidor, su nombre de usuario y contraseña.





A continuación, debe conectarse mediante acceso remoto. Dado que soy un Linuxoid de núcleo duro, describiré dos opciones de conexión.



Conexión a un servidor remoto desde Windows



Windows es simple. Haga clic en "Inicio" → "Ejecutar" e ingrese mstsc . Ingresamos los parámetros de nuestro servidor.





Si queremos copiar datos hacia y desde el servidor (y yo quiero), entonces vamos a la pestaña "Recursos locales", y allí presionamos el botón "Más".





Y luego le indicamos qué discos duros queremos conectar. Lo necesitaremos si queremos copiar varios mods o algún software adicional a nuestro servidor.





Después de eso, podemos conectarnos a nuestro servidor y ver una sola ventana de PowerShell.





El contenido de la unidad C: de nuestra computadora estará disponible en la carpeta de red:



\\TSCLIENT\c




Creo que aquí todo es obvio y no debería haber problemas.



Conectarse a un servidor remoto desde Linux



Conectarse desde Linux es un poco más complicado y más importante, y lo más importante, no funciona de manera muy estable (especialmente montando discos remotos). Pero no hay ningún lugar adonde ir, así que lo usaremos. Para conectarnos a un escritorio remoto de una máquina con Windows, necesitamos instalar el programa Remmina.



sudo apt-get update
sudo apt-get install libfreerdp-plugins-standard remmina remmina-plugin-rdp


Después de la instalación, inicie remmina y configure la conexión al servidor remoto.







Preste atención a la profundidad de color, si elige una profundidad de color incorrecta (más de la que admite el servidor), habrá un error de conexión. Para que podamos intercambiar archivos, debemos seleccionar una carpeta compartida. En mi caso, esto es rdpfiles . Como resultado, nuestra carpeta en el servidor estará disponible en:



\\TSCLIENT\rdpfiles






Iniciamos el servidor vainilla



Para iniciar un servidor básico, no se requieren asuntos importantes. Primero, debemos aceptar el acuerdo de licencia. Esto lo hace el equipo



Approve-MinecraftEULA




Todo, a partir de este momento el servidor está listo para funcionar. Podemos ejecutarlo con el comando



Start-Minecraft


Y eso es todo, su servidor está listo para funcionar, crea un mundo nuevo y la descarga está en progreso, pero el diablo está en las pequeñas cosas. El servidor en sí es muy antiguo, versión 1.15.2 (mientras que en el momento de escribir este artículo, existía la versión 1.16.4 de Minecraft ).





Pero, demostraré que el servidor realmente está funcionando. Solo es necesario poner el lanzamiento de la versión antigua (1.15.2) en el launcher, e indicar la dirección IP de nuestro servidor durante la conexión a la red.





La conexión fue exitosa.



¿Cómo se actualiza el servidor, preguntas? Resulta muy sencillo. La última versión del servidor se encuentra en la siguiente URL . Allí deberá copiar el enlace a este archivo.



Todos los archivos de este servidor de Minecraft (excepto los scripts de inicio) viven en la carpetaC:\Minecraft\ . Por lo tanto, nos adentramos en él y hacemos todos los procedimientos en él.



cd C:\Minecraft\
#  
rm C:\Minecraft\server.jar


Para descargar un archivo, PowerShell tiene un análogo de wget.



Invoke-WebRequest -Uri "http://www.contoso.com" -OutFile "C:\path\file"


Por lo tanto, copiamos el enlace a nuestro archivo y lo sustituimos en este comando. Lo tengo así (tenga en cuenta que en su caso habrá un enlace diferente, ya que probablemente habrá una versión diferente de Minecraft).



Invoke-WebRequest -Uri "https://launcher.mojang.com/v1/objects/35139deedbd5182953cf1caa23835da59ca3d7cd/server.jar" -OutFile "./server.jar"


Eso es todo, hemos actualizado nuestro servidor básico y está listo para funcionar. Intentando correr.



Start-Minecraft


Y vemos que la versión actualizada del servidor nos está funcionando.





Instalar mods



Esta parte bebió una monstruosa cantidad de sangre de mí, y la golpeé durante mucho tiempo, tratando de averiguar qué estaba mal. Para que las modificaciones funcionen, se debe instalar el complemento Forge. A pesar de que el script para iniciar Forge está en este servidor, ¡Forge no está instalado! Y este es el principal problema.



¡Tenga en cuenta que cada mod requiere su propia versión de Forge! Por lo tanto, busque una descripción detallada de su modificación y seleccione la compatibilidad de la versión Forge y la versión mod. Como no tuve la paciencia suficiente para esta búsqueda de seleccionar los módulos apropiados, les estoy diciendo el principio básico. No, la fragua se puso en marcha con módulos, pero no como se esperaba.



Necesitamos descargar la versión correcta de Minecraft Forge(elija la versión adecuada para su mod). Para hacer esto, cree una carpeta temporal C: \ tmp:



mkdir c:\tmp 
cd c:\tmp
# forge
Invoke-WebRequest -Uri "https://files.minecraftforge.net/maven/net/minecraftforge/forge/1.16.3-34.1.0/forge-1.16.3-34.1.0-launcher.jar" -OutFile "forge-1.16.3-34.1.0-launcher.jar"
# 
.\forge-installer.jar


Seleccione "Instalar servidor" y seleccione la carpeta donde poner (C: \ Minecraft) haga clic en Aceptar. Y estamos esperando la descarga.





Una vez completada la instalación, se mostrará dicha ventana.





El éxito de la instalación se puede comprobar mediante el comando.



Start-Minecraft -Type Forge -LogFile "C:\Minecraft\stdout.txt" -MinecraftPath "C:\Minecraft"


Si todo comienza sin errores, eso es todo, su servidor está listo para iniciar mods. Luego puede copiar los mods a su carpeta de red, en mi caso rdpfiles y luego copiar todos los mods a la carpeta C: \ Minecraft \ mods \ (después de crearlo).



mkdir C:\Minecraft\mods\
cd \\TSCLIENT\rdpfiles
cp *.jar C:\Minecraft\mods\


Para crear un mundo nuevo, no olvide eliminar el anterior de antemano.



rm C:\Minecraft\world\ 


Estamos de acuerdo con todo presionando la letra "A" en el teclado latino. Todo, podemos comenzar un nuevo mundo con mods.



Start-Minecraft -Type Forge -LogFile "C:\Minecraft\stdout.txt" -MinecraftPath "C:\Minecraft"


Puede eliminar mods de la misma manera eliminando archivos en la carpeta C: \ Minecraft \ mods \ .



Lista blanca y otras configuraciones del servidor



Si está creando un servidor para amigos, no olvide incluirlo en la lista blanca. De lo contrario, hay todo tipo de tipos desagradables que de alguna manera encuentran su servidor secreto y lo ensucian. Tuve un caso en el que una persona tan mala minó nuestras casas. En qué varias ocasiones. La tercera vez me asusté y descubrí cómo incluir a los maestros blancos en la lista blanca.



Las listas blancas se pueden habilitar a través del archivo de configuración, pero es mucho más fácil configurarlas directamente en la consola del servidor. Para hacer esto, escriba directamente en la consola:



whitelist on




Incluso puede intentar iniciar sesión en el servidor y asegurarse de que nadie lo inicie ahora.





Después de eso, puede agregar todos los jugadores que estarán en este servidor. Solo agregaré yo mismo por ahora.



whitelist add dlinyj 




Eso es todo, ahora puedo iniciar sesión en este servidor.



Para configurar el servidor, debe editar el archivo server.properties . Puede apagar el servidor con la combinación ctrl-c . Luego, puede abrir este archivo con un bloc de notas normal.



.\notepad.exe C:\Minecraft\server.properties




La programación de todos los campos de configuración del servidor está más allá del alcance de este artículo, por lo que puede familiarizarse con él aquí . Algunos parámetros se pueden cambiar directamente en la consola del servidor y se guardan automáticamente en el archivo server.properties. Un ejemplo de dicho parámetro es la lista blanca. Algo se puede cambiar manualmente. Experimentar.



conclusiones



Para mí, tuve una experiencia interesante con el servidor Windows, después de Linux. Y cada vez me enfrenté al hecho de que cada equipo tenía que ser buscado de nuevo. Por ejemplo, para reiniciar el servidor, el comando será:



Restart-Computer 


Si cierra accidentalmente la ventana de PowerShell, puede iniciarla presionando Ctrl-Shift-Esc . Luego ejecute PowerShell allí.







En general, el descubrimiento de maravillosas ventanas nos ocultó.



Hay mucho que contar sobre la instalación del Far-manager y dónde están los scripts de configuración. Pero me parece que este artículo te dará una idea de cómo implementar rápida y fácilmente tu servidor de juegos.










All Articles