Servidor de Minecraft 1.21.1 con NeoForge 21.1.249 para un grupo pequeño. El
proyecto usa una sola instancia: server\.
Desde PowerShell, en C:\Niggaland:
.\Iniciar.ps1Para apagar sin dañar el mundo, escribe stop en la consola y espera a que
termine. Para asignar más memoria:
.\Iniciar.ps1 -RamGB 6El lanzador comprueba Java 21+, el EULA, NeoForge y los mods antes de ejecutar.
También recupera el servicio de playit si está detenido, aplica la dirección
pública de voz guardada localmente y muestra el dominio para entrar. Si el
puerto 25565 ya está ocupado, bloquea una segunda copia para proteger el
mundo. Al terminar respalda el mundo.
La JVM arranca con los flags de Aikar (G1 afinado). Sin ellos el recolector de basura por defecto colecciona tarde y en tandas grandes, y cada tanda es una pausa que en el juego se nota como un tirón.
NeoForge no arranca con java -jar: necesita el archivo de argumentos que deja
su instalador, en server\libraries\net\neoforged\neoforge\<version>\win_args.txt.
Iniciar.ps1 busca ahí la versión instalada, así que actualizar NeoForge no
obliga a tocar el script. La primera carga con 80 mods tarda varios minutos.
El agente oficial de playit corre como servicio de Windows, separado del proyecto. Si hay que configurarlo de nuevo, sigue docs/PLAYIT.md.
-
Lee https://aka.ms/MinecraftEULA. Si estás de acuerdo, cambia a
eula=trueenserver\eula.txt. -
Instala o actualiza los mods:
.\tools\Sync-ServerMods.ps1 .\tools\Sync-HostModpack.ps1
-
Añade los jugadores:
.\tools\Add-Player.ps1 -Name TuNombre -Op .\tools\Add-Player.ps1 -Name Amigo1 .\tools\Add-Player.ps1 -Name Amigo2
-
Si usáis voz, guarda las direcciones de los túneles como explica docs/PLAYIT.md.
-
Pasa a los jugadores la guía de instalación, la dirección pública del túnel y la huella del certificado que imprime el log al arrancar. Los mods se los manda el servidor solo, al entrar.
Los backups no hay que activarlos: Iniciar.ps1 respalda el mundo al apagar el
servidor, y antes de arrancarlo si detecta que el mundo cambió desde la última
copia (o sea, tras un cierre sucio). Ver Operación.
La lista fuente está en tools\modlist.psd1. Para aplicar un cambio:
.\tools\Build-Pack.ps1 -BumpVersion
.\tools\Sync-ServerMods.ps1
.\tools\Sync-HostModpack.ps1Ahora mismo los 116 mods están fijados (pin) a la versión exacta que se
validó en la migración a NeoForge. Para actualizar uno, borra su línea pin y
vuelve a construir; si no, Build-Pack seguirá resolviendo la misma build.
Los mods de side = client (Sodium, Iris, los mapas de Xaero...) no caben en
server\mods: el servidor los cargaría y algunos lo tumban. Van aparte, a
server\automodpack\host-modpack, y de eso se encarga Sync-HostModpack.ps1.
Los jugadores reciben todo al entrar al servidor, vía AutoModpack; el juego les pide reiniciar una vez y ya. No hay nada que publicar para ellos. Ver Reparto a los clientes.
La sincronización elimina de server\mods lo que no esté en el manifiesto, así
que un jar copiado a mano hay que declararlo en ServerExtras
(tools\modlist.psd1) para que sobreviva. Ver Operación.
Iniciar.ps1 único comando de arranque
server\ servidor, configuración y mundo activos
pack\ metadatos packwiz: el registro versionado del pack
tools\ jugadores, mods, voz y backups
tools\migracion-1.21.1\ conversor de datos de jugador 26.2 -> 1.21.1
docs\ operación, seguridad y guía de jugadores
Datos sensibles, binarios, mundo y logs quedan fuera de Git mediante
.gitignore. La plantilla mínima de configuración está en
server\server.properties.example.