Automated installation script for Hytale Dedicated Server with auto-detection of root/user privileges and fully configurable installation paths.
- 🔄 Auto-detect root/user mode - Automatically configures system-wide or user-local installation
- 📁 Flexible installation paths - Choose default, current directory, or custom path
- ☕ Java 25 auto-installation - Downloads and configures Java 25 if not present
- 🎮 Complete server setup - Downloads and configures Hytale server files
- 🔧 Systemd service (root mode) - Automatic service creation with systemctl support
- 💾 Backup & update scripts - Built-in maintenance tools
- 🚀 AOT cache support - Optional performance optimization
- 📊 Resource configuration - Customizable RAM allocation and port settings
- 🔐 OAuth2 authentication - Guided Hytale account authentication
- Linux-based OS (Ubuntu, Debian, CentOS, etc.)
bash5.0+curlorwgetunzip- 4GB RAM (8GB+ recommended)
- ~10GB disk space
- Java 25 (Adoptium/Eclipse Temurin)
unzip,curl,wget,screen
wget https://raw.githubusercontent.com/c44738708-sys/hytale-server-setup/main/setup_hytale.sh
chmod +x setup_hytale.sh
./setup_hytale.shOr with curl:
curl -O https://raw.githubusercontent.com/c44738708-sys/hytale-server-setup/main/setup_hytale.sh
chmod +x setup_hytale.sh
./setup_hytale.shbash <(curl -s https://raw.githubusercontent.com/c44738708-sys/hytale-server-setup/main/setup_hytale.sh)sudo ./setup_hytale.sh- Installs to
/opt/hytale-server(default) - Creates dedicated
hytaleservice user - Installs Java system-wide
- Creates systemd service
- Installs required dependencies
./setup_hytale.sh- Installs to
~/hytale-server(default) - Uses current user
- Installs Java locally
- No root privileges required
During installation, you'll be prompted to configure:
-
Server Installation Directory
- Default:
/opt/hytale-server(root) or~/hytale-server(user) - Current directory:
$(pwd)/hytale-server - Custom path: Specify your own
- Default:
-
Java Installation Directory
- Default:
/opt/java(root) or~/java(user) - Custom path: Specify your own
- Default:
-
Server Configuration
- RAM allocation (default: 4G)
- Server port (default: 5520 UDP)
# Start server
sudo systemctl start hytale
# Stop server
sudo systemctl stop hytale
# Restart server
sudo systemctl restart hytale
# Enable on boot
sudo systemctl enable hytale
# Check status
sudo systemctl status hytale
# View logs (live)
sudo journalctl -u hytale -fcd ~/hytale-server # or your custom path
# Normal start
./start.sh
# Start with AOT cache (faster)
./start-aot.sh
# Start with auto-restart
./restart-loop.sh
# Run in background (screen)
screen -S hytale
./start.sh
# Press Ctrl+A, then D to detach
# screen -r hytale to reattach- Start the server
- In the console, type:
/auth login device - You'll receive a code (e.g.,
ABCD-1234) - Open: https://accounts.hytale.com/device
- Enter the code
- Make yourself admin:
/op add YourUsername
All scripts are created in the server directory:
| Script | Description |
|---|---|
start.sh |
Start server normally |
start-aot.sh |
Start with AOT cache (performance) |
restart-loop.sh |
Auto-restart on crash |
update.sh |
Update server files |
backup.sh |
Backup world and config |
version.sh |
Check versions |
auth.sh |
Authentication help |
/auth login device # Authenticate server (first time)
/op add USERNAME # Add admin
/op self # Make yourself admin
/stop # Stop server
/kick PLAYER # Kick player
/who # List online players
/tp PLAYER # Teleport to player
/time set VALUE # Change time
/weather set VALUE # Change weather
- Protocol: UDP (QUIC)
- Default Port: 5520
- Port Forwarding: Required for external access
Root:
sudo ufw allow 5520/udp
# or
sudo iptables -A INPUT -p udp --dport 5520 -j ACCEPTUser:
sudo ufw allow 5520/udpcurl ifconfig.mePlayers connect to: <YOUR_PUBLIC_IP>:5520
Edit start.sh and modify:
java -Xmx4G -Xms4G ...Change 4G to your desired amount (e.g., 8G, 16G)
Port configuration is in: Server/config/server.properties
- Server files:
<install_dir>/Server/ - Config:
<install_dir>/Server/config/ - World:
<install_dir>/world/ - Logs:
<install_dir>/Server/logs/
# User mode
source ~/.bashrc
# Root mode
source /etc/profile.d/java.shjava -version # Must be 25rm -rf ~/.config/hytale-downloader/
./hytale-downloader# Root mode
sudo journalctl -u hytale -f
# User mode
tail -f Server/logs/latest.log- Verify Assets.zip exists in server root
- Check Java version is 25
- Verify HytaleServer.jar exists in Server/
- Check logs for errors
hytale-server/
├── hytale-downloader # CLI tool for download/update
├── Server/ # Hytale server files
│ ├── HytaleServer.jar
│ ├── config/
│ └── logs/
├── Assets.zip # Game assets (required)
├── world/ # World save files
├── start.sh # Normal start script
├── start-aot.sh # AOT cache start
├── restart-loop.sh # Auto-restart script
├── auth.sh # Authentication helper
├── update.sh # Update script
├── backup.sh # Backup script
├── version.sh # Version checker
└── README.txt # Server documentation
cd /path/to/hytale-server
./update.sh./hytale-downloaderwget -O setup_hytale.sh https://raw.githubusercontent.com/c44738708-sys/hytale-server-setup/main/setup_hytale.sh
chmod +x setup_hytale.sh# Stop and disable service
sudo systemctl stop hytale
sudo systemctl disable hytale
# Remove files
sudo rm -rf /opt/hytale-server
sudo rm -rf /opt/java
sudo rm /etc/systemd/system/hytale.service
sudo systemctl daemon-reload
# Remove service user (optional)
sudo userdel -r hytalerm -rf ~/hytale-server
rm -rf ~/java
# Remove from .bashrc
sed -i '/Java 25 Setup for Hytale/,+2d' ~/.bashrcContributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
This is an unofficial installation script for Hytale Dedicated Server. Hytale and all related assets are property of Hypixel Studios. This script simply automates the installation process using official Hytale tools.
If you encounter issues:
- Check the Troubleshooting section
- Review server logs
- Open an Issue
- Check Hytale Support
If this script helped you, please consider giving it a star!
Made with ❤️ for the Hytale community