Configuración avanzada del servidor de Hytale
Importante: Haz siempre una copia de seguridad de los archivos de tu servidor antes de cambiar la configuración. Detén tu servidor antes de editar cualquier archivo de configuración.
Ubicación de los archivos de configuración
| Archivo | Ubicación | Propósito |
|---|---|---|
config.json |
Carpeta raíz del servidor | Configuración principal del servidor |
permissions.json |
Carpeta raíz del servidor | Roles y permisos de jugadores |
bans.json |
Carpeta raíz del servidor | Lista de jugadores baneados |
whitelist.json |
Carpeta raíz del servidor | Lista antigua de jugadores permitidos. Hytale 0.6.6 y posteriores la leen una vez, la convierten en permisos de acceso y la renombran a whitelist.json.migrated
|
config.json |
universe/worlds/[WorldName]/ |
Configuración por mundo |
Configuración del servidor (config.json)
El config.json principal en la raíz de tu servidor controla la configuración de todo el servidor. Esta es la estructura que usa la actualización 7 de Hytale:
{
"Version": 4,
"ServerName": "Hytale Server",
"MOTD": "",
"Password": "",
"MaxPlayers": 100,
"MaxViewRadius": 32,
"LocalCompressionEnabled": false,
"Defaults": {
"World": "default",
"GameMode": "Adventure",
"HardcoreMode": "None",
"CrashRecovery": {}
},
"ConnectionTimeouts": {},
"RateLimit": {},
"Modules": {},
"LogLevels": {},
"Mods": {},
"DisplayTmpTagsInStrings": false,
"PlayerStorage": {
"Type": "Hytale"
},
"DefaultModsEnabled": true,
"RequireJoinPermission": false,
"UniverseResourceStorage": {
"Type": "Hytale"
},
"BanStorage": {
"Type": "Disk",
"Path": "bans.json"
},
"AuthCredentialStore": {
"Type": "Encrypted",
"Path": "auth.enc"
},
"Update": {},
"Backup": {},
"WorldMap": {}
}
| Ajuste | Descripción | Recomendado |
|---|---|---|
ServerName |
Nombre visible que se muestra a los jugadores | El nombre de tu servidor |
MOTD |
Mensaje del día | Mensaje de bienvenida corto |
Password |
Contraseña del servidor (vacío = sin contraseña) | Déjalo vacío para que sea público |
MaxPlayers |
Máximo de jugadores simultáneos | Según la RAM (normalmente 20-50) |
MaxViewRadius |
Distancia de visión de los jugadores (en chunks) | 12 para el rendimiento |
LocalCompressionEnabled |
Activa la compresión de red local. Hytale 0.7.0 ya no lo lee, así que no hace nada | false |
Defaults.World |
Nombre del mundo por defecto en el que aparecen los jugadores | "default" |
Defaults.GameMode |
Modo de juego predeterminado para jugadores nuevos | "Adventure" o "Creative" |
Consejo de rendimiento: El manual oficial de Hytale recomienda limitar MaxViewRadius a 12 chunks (384 bloques) tanto por rendimiento como por jugabilidad. El valor predeterminado es 32, que también es el máximo desde la actualización 7. Un valor más alto en config.json se reduce a 32 con un aviso al arrancar el servidor.
Editar los archivos de configuración
Para clientes de Survival Servers
Lo más fácil es Server Config, el primer botón en TOOLS: cambia los ajustes, elige Apply & Restart o Apply y luego haz clic en Save.
- Inicia sesión en el Command Center
- Haz clic en Detener para apagar tu servidor
- En TOOLS, haz clic en config.json o world/config, o usa el Acceso FTP
- Edita el archivo que quieras y guarda
- Haz clic en Iniciar para reiniciar tu servidor
Para servidores autoalojados
- Detén tu servidor (escribe
stopo pulsaCtrl+C) - Abre el archivo de configuración en un editor de texto
- Haz tus cambios y guarda
- Inicia tu servidor
Configuración del mundo (universe/worlds/[WorldName]/config.json)
Cada mundo tiene su propio archivo de configuración.
{
"Version": 4,
"UUID": {
"$binary": "j2x/idwTQpen24CDfH1+OQ==",
"$type": "04"
},
"Seed": 1767292261384,
"WorldGen": {
"Type": "Hytale",
"Name": "Default"
},
"WorldMap": {
"Type": "WorldGen"
},
"ChunkStorage": {
"Type": "Hytale"
},
"ChunkConfig": {},
"IsTicking": true,
"IsBlockTicking": true,
"IsPvpEnabled": false,
"IsFallDamageEnabled": true,
"IsGameTimePaused": false,
"GameTime": "0001-01-01T08:26:59.761606129Z",
"ClientEffects": {
"SunHeightPercent": 100.0,
"SunAngleDegrees": 0.0,
"BloomIntensity": 0.30000001192092896,
"BloomPower": 8.0,
"SunIntensity": 0.25,
"SunshaftIntensity": 0.30000001192092896,
"SunshaftScaleFactor": 4.0
},
"RequiredPlugins": {},
"IsSpawningNPC": true,
"IsSpawnMarkersEnabled": true,
"IsAllNPCFrozen": false,
"GameplayConfig": "Default",
"IsCompassUpdating": true,
"IsSavingPlayers": true,
"IsSavingChunks": true,
"SaveNewChunks": true,
"IsUnloadingChunks": true,
"IsObjectiveMarkersEnabled": true,
"DeleteOnUniverseStart": false,
"DeleteOnRemove": false,
"ResourceStorage": {
"Type": "Hytale"
},
"Plugin": {}
}
| Ajuste | Descripción |
|---|---|
Seed |
Semilla de generación del mundo |
IsPvpEnabled |
Permitir combate jugador contra jugador |
IsFallDamageEnabled |
Los jugadores reciben daño por caída |
IsGameTimePaused |
Congelar el ciclo día/noche |
IsSpawningNPC |
Activar la aparición de mobs |
IsAllNPCFrozen |
Congela a todos los NPC en su sitio |
IsTicking |
La simulación del mundo está en ejecución |
IsBlockTicking |
Actualizaciones de bloques (cultivos, líquidos) |
IsSavingPlayers |
Guardar datos de los jugadores |
IsSavingChunks |
Guardar cambios del mundo |
SaveNewChunks |
Guardar en disco los chunks recién generados |
IsUnloadingChunks |
Descargar chunks vacíos |
ClientEffects |
Ajustes de efectos visuales (sol, bloom, rayos de sol) |
DeleteOnUniverseStart |
Eliminar el mundo al iniciar el servidor |
DeleteOnRemove |
Eliminar los archivos del mundo al quitarlo |
Pregeneración del mundo
La pregeneración crea el terreno por adelantado, lo que reduce el lag cuando los jugadores exploran.
Método 1: Exploración dentro del juego
- Arranca tu servidor e inicia sesión como administrador
- Vuela por el mapa para generar chunks
- El servidor guarda los chunks a medida que exploras
Método 2: Mods de pregeneración
- Añade un mod de pregeneración a tu carpeta
mods/ - Configura el tamaño del área y el punto central
- Ejecuta el comando de pregeneración
Método 3: Línea de comandos
java -jar HytaleServer.jar --help
Comprueba si hay opciones de pregeneración integradas.
Arquitectura de malla de servidores (redes multiservidor)
Hytale tiene soporte integrado para conectar varios servidores entre sí sin proxies de terceros como BungeeCord.
Estas funciones se implementan a través de la API de Java del servidor:
| Función | Método API | Descripción |
|---|---|---|
| Recomendación de jugadores (Player Referral) | PlayerRef.referToServer(host, port, payload) |
Transfiere jugadores entre servidores con una carga opcional de 4KB |
| Redirección de conexión | PlayerSetupConnectEvent.referToServer(host, port) |
Redirección durante el handshake, antes de la conexión completa |
| Servidor de respaldo al desconectarse (Disconnect Fallback) | Próximamente | Reconexión automática al servidor de respaldo si el servidor falla |
Seguridad: las cargas útiles (payloads) de referencia pasan por el cliente y pueden manipularse. Firma las cargas útiles criptográficamente (por ejemplo, HMAC con un secreto compartido) para que los servidores receptores puedan verificar su autenticidad.
Proxies personalizados: Crea servidores proxy con Netty QUIC. Las definiciones de paquetes están disponibles en HytaleServer.jar en com.hypixel.hytale.protocol.packets.
Argumentos de línea de comandos
java [JVM options] -jar HytaleServer.jar [server options]
Opciones de la JVM
| Opción | Descripción | Ejemplo |
|---|---|---|
-Xms |
Asignación de memoria inicial | -Xms4G
|
-Xmx |
Asignación máxima de memoria | -Xmx4G
|
-XX:+UseG1GC |
Usa el recolector de basura G1 | Recomendado para 8 GB o más |
-XX:AOTCache |
Usar la caché AOT para un arranque más rápido | -XX:AOTCache=HytaleServer.aot
|
Opciones del servidor
| Opción | Descripción | Predeterminado |
|---|---|---|
--assets <path> |
Ruta a Assets.zip | ..\HytaleAssets
|
--bind <ip:port> |
Dirección y puerto de escucha | 0.0.0.0:5520 |
--auth-mode <mode> |
authenticated o offline |
authenticated |
--backup |
Activar copias de seguridad automáticas | Desactivado |
--backup-dir <path> |
Ubicación de almacenamiento de las copias de seguridad | None |
--backup-frequency <mins> |
Intervalo de copias de seguridad en minutos | 30 |
--disable-sentry |
Desactivar los informes de fallos | Activado |
--allow-op |
Permitir comandos de operador | Desactivado |
--accept-early-plugins |
Cargar plugins experimentales (sin soporte) | Desactivado |
Ejemplos de scripts de lanzamiento
Production server (Windows - start.bat):
@echo off java -Xms6G -Xmx6G -XX:+UseG1GC -XX:AOTCache=HytaleServer.aot -jar HytaleServer.jar --assets Assets.zip --backup --backup-frequency 60 pause
Servidor de producción (Linux - start.sh):
#!/bin/bash java -Xms6G -Xmx6G -XX:+UseG1GC -XX:AOTCache=HytaleServer.aot -jar HytaleServer.jar --assets Assets.zip --backup --backup-frequency 60
Servidor de desarrollo:
java -Xms4G -Xmx4G -jar HytaleServer.jar --assets Assets.zip --auth-mode offline --disable-sentry
Configuración del firewall
Hytale usa el protocolo QUIC sobre UDP (no TCP).
Windows PowerShell:
New-NetFirewallRule -DisplayName "Hytale Server" -Direction Inbound -Protocol UDP -LocalPort 5520 -Action Allow
Linux (iptables):
sudo iptables -A INPUT -p udp --dport 5520 -j ACCEPT
Linux (ufw):
sudo ufw allow 5520/udp
Véase también
- Guía para crear un servidor de Hytale
- Cómo unirte a un servidor de Hytale
- Cómo instalar mods en un servidor de Hytale
- Cómo actualizar un servidor de Hytale
- Sitio web oficial de Hytale
- Soporte y documentación de Hytale
- Alquila un servidor de Hytale en Survival Servers