Skip to Content
Hytale logoCommunity-built docsOpen source and updated by the community.
Common Issues & Solutions

Common Issues & Solutions

Troubleshooting guide based on real problems and solutions from the Hytale developer community.

Connection Issues

”Server requires development mode”

Problem: Players see “Server requires development mode” when trying to connect.

Solutions:

  1. Check Authentication Settings

    • Server may have auth disabled with /auth insecure
    • Verify your game has development mode enabled in settings
    • Friends connecting may need to enable dev mode too
  2. Verify Server Configuration

    # Check if server has authentication disabled # Look for auth settings in server config
  3. Development Mode Location

    • In game settings
    • Under developer/advanced options
    • Enable “Allow development servers"

"Failed to connect / Connection timeout”

Problem: Cannot connect to server, connection times out.

Solutions:

  1. Port Forwarding

  2. Firewall Rules

    # Windows netsh advfirewall firewall add rule name="Hytale" dir=in action=allow protocol=TCP localport=5520 # Linux (UFW) sudo ufw allow 5520/tcp # Check firewall status sudo ufw status
  3. Verify Server is Running

    • Check server console for errors
    • Ensure server finished starting up
    • Look for “Server started” or similar message
  4. CGNAT Issues

    “If you’re behind CGNAT (carrier-grade NAT), port forwarding won’t work - you’ll need a VPS or tunneling service like Playit.gg” - From Discord

  5. Test Local Connection First

    • Try connecting via localhost:5520
    • If local works but external doesn’t, it’s a network issue
    • If local doesn’t work, it’s a server issue

”Server authentication unavailable”

Problem: Authentication services not responding.

Solutions:

  • Wait for Hytale authentication services to come back online
  • Check Hytale status page or Discord for service updates
  • Use /auth insecure for LAN testing only (not recommended for public servers)

Plugin Issues

Plugin Not Loading

Problem: Plugin doesn’t appear in /plugins list or shows “missing or invalid manifest.json”.

Solutions:

  1. Verify manifest.json exists and is valid

    The manifest.json must be in the JAR root (inside src/main/resources/):

    { "Group": "com.example", "Name": "MyPlugin", "Version": "1.0.0", "Main": "com.example.myplugin.MyPlugin", "ServerVersion": "*" }

    “Skipping pack at MyPlugin: missing or invalid manifest.json” - This error means the manifest is missing or has invalid JSON syntax.

  2. Check Plugin Structure

    my-plugin.jar ├── manifest.json # Must be at JAR root! ├── com/ │ └── example/ │ └── myplugin/ │ └── MyPlugin.class └── ...
  3. Enable Development Mode

    • Check game settings
    • Ensure dev mode is enabled
    • Required for custom plugins
  4. Check Server Logs

    • Look for plugin loading errors
    • Check for class loading exceptions
    • Verify Java version compatibility
  5. Plugin Location

    • Place in /mods folder
    • NOT in root directory or other locations

”Missing or invalid manifest.json” Error

Problem: Server logs show Skipping pack at MyPlugin: missing or invalid manifest.json

Solutions:

  1. Verify manifest.json location

    • Must be at the root of your JAR file
    • In Gradle/Maven projects: src/main/resources/manifest.json
  2. Validate JSON syntax

    • Use a JSON validator
    • Check for missing commas, quotes, or brackets
    • Field names are case-sensitive (Group not group)
  3. Required fields

    { "Group": "your.group.name", "Name": "PluginName", "Version": "1.0.0", "Main": "your.group.name.MainClass" }
  4. Example working manifest

    { "Group": "UltimateTeam", "Name": "UltimateLobby", "Version": "1.0.0", "Authors": [{ "Name": "Developer" }], "Main": "com.example.ultimateLobby.Main", "ServerVersion": "*" }

”Class not found” Errors

Problem: Plugin fails to load with ClassNotFoundException.

Solutions:

  1. Shade Dependencies

    // Gradle: Use shadow plugin plugins { id("com.github.johnrengelman.shadow") version "8.1.1" } tasks.shadowJar { // Relocate dependencies to avoid conflicts relocate("org.example", "com.myplugin.shaded.example") }
  2. For Kotlin

    • Shade Kotlin standard library into JAR
    • Community recommendation for Kotlin plugins
  3. Check Dependencies

    • Ensure all required libraries are included
    • Use compileOnly for server JAR
    • Use implementation for external libraries

Plugin Reload Issues

Problem: /plugin reload doesn’t work or causes file locking issues.

Solutions:

From Discord:

“Most developers restart server for testing” - Community consensus

Recommended Workflow:

  1. Build plugin JAR
  2. Stop server
  3. Replace JAR in /mods folder
  4. Start server

Alternative: Use development server that auto-restarts on changes.

Performance Issues

High RAM Usage

Problem: Server consuming excessive memory.

Solutions:

  1. Garbage Collection Tuning

    # G1GC (recommended) java -Xms2G -Xmx8G -XX:+UseG1GC -XX:MaxGCPauseMillis=200 -jar server.jar # ZGC (trades CPU for lower pause times) java -Xms2G -Xmx8G -XX:+UseZGC -jar server.jar
  2. Pre-generate Worlds

    “Pre-generate your worlds before opening to players - exploration is the biggest RAM consumer.” - From Discord

  3. Reduce View Distance

    • Lower in server config
    • Reduces chunk loading
  4. Chunk Management

    • Use chunk unloading plugins
    • Limit loaded chunks
    • Pre-generate spawn area
  5. Player Distribution

    “4 players flying in different directions crashed 8GB server” - Community testing

    RAM usage increases dramatically when players spread out exploring.

Server Lag / TPS Drop

Problem: Server tick rate dropping below 30 TPS.

Solutions:

  1. Identify Bottleneck

    • Use performance profiler
    • Check which world/plugin is causing lag
    • Monitor CPU and disk I/O
  2. Disable Unused Modules

    • Server has 70+ modules that can be disabled
    • Turn off features you don’t need
    • See server configuration documentation
  3. Optimize Plugins

    • Remove or replace laggy plugins
    • Profile plugin event handlers
    • Use asynchronous operations
  4. Hardware Upgrade

    • More RAM if memory-constrained
    • Better CPU for computation
    • SSD/NVMe for disk I/O

Authentication & Security

Authentication Errors

Problem: Various authentication-related issues.

Solutions:

  1. Development vs Production

    • Development: /auth insecure (testing only)
    • Production: Use proper authentication
  2. Friend Connection Issues

    • Ensure both parties have compatible auth settings
    • Check if friend has dev mode enabled
    • Verify server whitelist settings

DDoS Attacks

Problem: Server under DDoS attack.

Recommended Protection (from Discord):

  • TCPShield: Popular in Minecraft, may work
  • GSL: Confirmed working solution
  • GCore: Alternative protection
  • Datapacket: Another option

CloudFlare Note: Standard proxy doesn’t support game ports - need Spectrum (paid) or other solutions.

Building & Development

Build Failures

Problem: Plugin won’t compile or build.

Solutions:

  1. Java Version Mismatch

    # Check Java version java -version javac -version # Ensure using Java 17+
  2. Gradle Issues

    # Clear Gradle cache ./gradlew clean # Rebuild ./gradlew build --refresh-dependencies
  3. Maven Issues

    # Clean and rebuild mvn clean install # Update dependencies mvn dependency:purge-local-repository

IDE Not Recognizing Classes

Problem: IDE shows errors but code compiles.

Solutions:

  1. IntelliJ IDEA

    • File > Invalidate Caches > Invalidate and Restart
    • Reimport Gradle/Maven project
    • Check Project Structure > SDKs
  2. VS Code

    • Reload Java projects
    • Check Java extension settings
    • Verify language server is running

Networking Issues

SRV Records Not Working

Problem: SRV records don’t resolve.

Solution:

“SRV records NOT supported initially (A records only)” - From Discord

Use A records or direct IP:Port connections.

Transfer Packet Issues

Problem: Issues with server transfer functionality.

Solutions:

  1. Verify Signature

    • Always verify transfer packet signatures
    • Prevents unauthorized transfers
  2. Payload Size

    • Max 4KB payload
    • Compress data if needed
  3. Backend Setup

    • Still need proxies for load balancing
    • Transfer packets don’t replace proxies entirely

Database & Data

Data Not Persisting

Problem: Player data or configuration not saving.

Solutions:

  1. File Permissions

    # Check permissions ls -la /path/to/server/ # Fix permissions chown -R hytale:hytale /path/to/server/ chmod -R 755 /path/to/server/
  2. Serialization Issues

    • Verify JSON/YAML syntax
    • Check for serialization errors in logs
    • Test save/load cycle
  3. Database Connection

    • Verify credentials
    • Check connection string
    • Ensure database server is running

Configuration Errors

Problem: Config file not loading or causing errors.

Solutions:

  1. JSON Validation

    • Use JSON validator tool
    • Check for syntax errors
    • Verify proper escaping
  2. Config Location

    • Verify config file is in correct location
    • Check if server is reading from right path
    • Look for typos in filename

Platform-Specific Issues

macOS Support

Status: Delayed due to Apple code signing requirements.

Workaround:

  • Use Windows or Linux for now
  • Wait for official macOS release
  • Community may provide unsigned builds (use at own risk)

Linux Issues

Flatpak Support: Confirmed available

# Install via Flatpak flatpak install hytale-server

FreeBSD

Status: Community discussion, no official support yet.

Troubleshooting Checklist

When encountering issues, check:

  • Server logs for error messages
  • Port 5520 is open and forwarded
  • Firewall allows traffic
  • Java version is compatible (17+)
  • Development mode is enabled (if using plugins)
  • Plugin is in correct folder (/mods)
  • Configuration files are valid JSON/YAML
  • Sufficient RAM allocated
  • Disk space available
  • Authentication services are online

Getting Help

Before Asking

  1. Check server logs
  2. Search this documentation
  3. Search Discord history
  4. Try basic troubleshooting steps

Where to Ask

  • Discord: Active community for real-time help
  • GitHub Issues: For plugin-specific problems
  • Forums: For detailed discussions

What to Include

  • Server version
  • Plugin version (if applicable)
  • Full error message from logs
  • Steps to reproduce
  • What you’ve already tried

Community Tips

“Always check logs first - 90% of issues are explained there” - Discord advice

“Port forwarding issues? Test with a different port first to verify your router config” - Troubleshooting tip

“Start with minimal plugins, then add one at a time to identify conflicts” - Plugin debugging

Next Steps

Last updated on