Configuración avanzada del servidor de Hytale

De Survival Servers
Ir a la navegación Ir a la búsqueda

Esta guía cubre la configuración avanzada del servidor de Hytale, incluidos los ajustes del mundo, los argumentos de línea de comandos y la arquitectura de malla de servidores.

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 de jugadores permitidos
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 global del servidor:

{
  "Version": 3,
  "ServerName": "Hytale Server",
  "MOTD": "",
  "Password": "",
  "MaxPlayers": 100,
  "MaxViewRadius": 32,
  "LocalCompressionEnabled": false,
  "Defaults": {
    "World": "default",
    "GameMode": "Adventure"
  },
  "ConnectionTimeouts": {
    "JoinTimeouts": {}
  },
  "RateLimit": {},
  "Modules": {},
  "LogLevels": {},
  "Mods": {},
  "DisplayTmpTagsInStrings": false,
  "PlayerStorage": {
    "Type": "Hytale"
  }
}
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 Activar la compresión de red local 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 de 32 equivale aproximadamente a 64 chunks de Minecraft y aumentará considerablemente el uso de RAM.

Editar los archivos de configuración

Para clientes de Survival Servers

  1. Inicia sesión en tu panel de control
  2. Haz clic en Detener para apagar tu servidor
  3. Haz clic en Archivos de configuración o usa Acceso FTP
  4. Edita el archivo que quieras y guarda
  5. Haz clic en Iniciar para reiniciar tu servidor

Para servidores autoalojados

  1. Detén tu servidor (escribe stop o pulsa Ctrl+C)
  2. Abre el archivo de configuración en un editor de texto
  3. Haz tus cambios y guarda
  4. Inicia tu servidor

Configuración del mundo (universe/worlds/[WorldName]/config.json)

Cada mundo tiene su propio archivo de configuración. A continuación se muestra la estructura documentada de la configuración del mundo:

{
  "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

  1. Arranca tu servidor e inicia sesión como administrador
  2. Vuela por el mapa para generar chunks
  3. El servidor guarda los chunks a medida que exploras

Método 2: Mods de pregeneración

  1. Añade un mod de pregeneración a tu carpeta mods/
  2. Configura el tamaño del área y el punto central
  3. 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 (obligatorio) None
--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 ./backups
--backup-frequency <mins> Intervalo de copias de seguridad en minutos 60
--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