An easy-to-use, all-in-one solution for setting up and managing your Hytale server with Discord integration.
- π One-Command Setup - Interactive wizard guides you through the entire setup process
- π€ Discord Integration - Control your server with Discord slash commands
- π Server Monitoring - Real-time status updates and player notifications
- π Auto-Restart - Configurable automatic server restarts
- πΎ Automatic Backups - Schedule regular backups of your server data
- βοΈ Easy Configuration - User-friendly configuration management
- π Logging - Comprehensive server logging
Get your Hytale server running in 15 minutes:
git clone <repository-url>
cd hytale-server-manager
chmod +x install.sh && ./install.sh- Automatic installation - Node.js, Java 25, and unzip are installed automatically
- Setup wizard - Answer questions about your server configuration
- Server download - Log in with your Hytale account to download server files
- Start your server - Choose to start immediately or run
npm startlater
Time required: ~10-15 minutes User input needed: Hytale login + server configuration
What gets installed automatically?
The install.sh script automatically installs:
- Node.js v20 (via NodeSource) if not present or version < 18
- npm (bundled with Node.js)
- Java 25 (OpenJDK) if not present or version < 25
- unzip utility for extracting server files
- All npm dependencies from
package.json
No prompts - these install silently in the background.
What will I be prompted for?
During the setup wizard you'll be asked:
Required:
- Server name
- Server port (default: 25565)
- Maximum players
- Server difficulty
- PvP enabled/disabled
Optional:
- Discord bot integration
- Automatic backups
- Auto-restart settings
Authentication:
- Hytale account login (OAuth browser flow) to download server files
If you prefer step-by-step control
- Clone or download this repository to your Linux server:
git clone <repository-url>
cd hytale-server-manager- Run the installation script:
chmod +x install.sh
./install.shThis will:
- Check and install Node.js if needed
- Install Java 25 if needed
- Install all dependencies
- Create necessary directories
- Launch the setup wizard
The wizard will guide you through:
- Basic server configuration (name, port, max players, etc.)
- Advanced settings (Java memory allocation, auto-restart)
- Discord bot integration (optional)
- Backup configuration (optional)
- Server file download and location
- Configuration review and save
- Option to start the server immediately
After completing the setup wizard, you can start the server with:
npm startIf you enabled Discord integration during setup:
-
Create a Discord Bot:
- Go to Discord Developer Portal
- Create a new application
- Go to the "Bot" section and create a bot
- Copy the bot token (you'll need this during setup)
- Enable the following Privileged Gateway Intents:
- Server Members Intent
- Message Content Intent
-
Invite the Bot to Your Server:
- Go to OAuth2 β URL Generator
- Select scopes:
bot,applications.commands - Select bot permissions:
Send Messages,Embed Links,Read Message History - Copy and visit the generated URL to invite the bot
-
Get Your Server IDs:
- Enable Developer Mode in Discord (User Settings β Advanced β Developer Mode)
- Right-click your server β Copy ID (Guild ID)
- Right-click your notification channel β Copy ID (Channel ID)
- Right-click your admin role β Copy ID (Admin Role ID, optional)
-
Start the Discord Bot:
npm run discordOnce the Discord bot is running, you can use these slash commands:
/server-on- Start the Hytale server/server-off [reason]- Stop the server (with optional reason)/server-restart [reason]- Restart the server (with optional reason)/server-status- Get current server status/server-players- Get current player count/server-info- Get detailed server information/server-command <command>- Send a command to the server console
hytale-server-manager/
βββ src/
β βββ config.js # Configuration management
β βββ server-manager.js # Server process management
β βββ discord-bot.js # Discord bot integration
β βββ setup-wizard.js # Interactive setup wizard
β βββ index.js # Main server launcher
βββ logs/ # Server logs
βββ backups/ # Automatic backups
βββ hytale-server/ # Hytale server files (you provide these)
βββ install.sh # Bootstrap installation script
βββ package.json
βββ config.json # Generated configuration
βββ .env # Environment variables (bot token)
Configuration is stored in config.json. You can manually edit this file or re-run the setup wizard:
npm run setupServer Settings:
server.name- Server nameserver.port- Server port (default: 25565)server.maxPlayers- Maximum number of playersserver.difficulty- Game difficulty (peaceful, easy, normal, hard)server.pvp- Enable/disable PvPserver.motd- Message of the dayserver.javaArgs- Java arguments for memory allocationserver.autoRestart- Enable automatic restartsserver.restartInterval- Restart interval in milliseconds
Discord Settings:
discord.enabled- Enable Discord integrationdiscord.botToken- Discord bot tokendiscord.guildId- Discord server IDdiscord.channelId- Notification channel IDdiscord.adminRoleId- Admin role ID (optional)discord.statusUpdates- Enable status update messages
Backup Settings:
backup.enabled- Enable automatic backupsbackup.interval- Backup interval in millisecondsbackup.maxBackups- Maximum number of backups to keep
- Operating System: Linux (Ubuntu 20.04+ recommended)
- Node.js: Version 18 or higher
- Java: Java 17 or higher (required for Hytale server)
- RAM: Minimum 2GB, 4GB+ recommended
- Disk Space: At least 10GB free
- Verify Java is installed:
java -version - Check that server files are in the correct location
- Review logs in the
logs/directory - Ensure sufficient RAM is available
- Verify bot token is correct in
.envfile - Check that bot has been invited to your server
- Ensure all required IDs (Guild ID, Channel ID) are correct
- Verify bot permissions in Discord
If the default port (25565) is already in use, change it in the configuration:
npm run setupOr manually edit config.json and change server.port.
To run the server as a systemd service:
- Create a service file at
/etc/systemd/system/hytale.service:
[Unit]
Description=Hytale Server
After=network.target
[Service]
Type=simple
User=your-username
WorkingDirectory=/path/to/hytale-server-manager
ExecStart=/usr/bin/npm start
Restart=always
[Install]
WantedBy=multi-user.target- Enable and start the service:
sudo systemctl enable hytale
sudo systemctl start hytaleYou can override configuration using environment variables:
DISCORD_BOT_TOKEN- Discord bot tokenDISCORD_CLIENT_ID- Discord application client IDSERVER_PORT- Server portMAX_PLAYERS- Maximum players
- Never share your bot token - Keep your
.envfile secure - Use admin roles - Restrict Discord commands to trusted users
- Firewall configuration - Only open necessary ports
- Regular backups - Enable automatic backups to prevent data loss
- Keep software updated - Regularly update Node.js and dependencies
Contributions are welcome! Please feel free to submit issues or pull requests.
This project uses TypeScript but ships pre-built JavaScript files for instant user setup.
If you're modifying the source code:
- Edit files in
src/*.ts - Run
npm run buildto compile TypeScript to JavaScript - Test your changes with
npm run setupornpm start - Important: Commit both source and compiled files together:
git add src/ dist/ git commit -m "Your change description"
Why we ship built files:
- Users get instant setup without needing TypeScript compiler
- No build step delays during installation
- Standard practice for CLI tools distributed via git
Development commands:
npm run dev- Watch mode (auto-rebuild on changes)npm run build- Build oncenpm run clean- Remove dist/ folder
Note for Windows developers: On Windows, the first run after building may be slow (20-30 seconds) due to Windows Defender scanning. This does NOT affect Linux users. To speed up development:
# Run as Administrator to exclude directories from Windows Defender:
Add-MpPreference -ExclusionPath "C:\path\to\hytale-server-manager\dist"
Add-MpPreference -ExclusionPath "C:\path\to\hytale-server-manager\node_modules"This project is licensed under the MIT License.
For issues and questions:
- Check the troubleshooting section above
- Review logs in the
logs/directory - Open an issue on GitHub
- Built with Node.js and Discord.js
- Uses Inquirer for interactive CLI
- Styled with Chalk
Note: This is a community-made tool and is not officially affiliated with Hytale or Hypixel Studios. Make sure to download official Hytale server files from the official Hytale website.