getProxy
Hytale Network Proxy
FREE 7-DAY TRIAL
Join our Discord and get a 7-day free trial - no payment required.
Test everything before you buy!
https://discord.gg/hjBWXX6nQQ
Hytale Network Proxy
FREE 7-DAY TRIAL
Join our Discord and get a 7-day free trial - no payment required.
Test everything before you buy!
https://discord.gg/hjBWXX6nQQ
WHAT IS THIS?
A proxy that lets you run multiple Hytale servers as one network. Players connect to the proxy, and the proxy sends them to your servers (lobby, survival, minigames, etc).
LICENSE REQUIRED
After purchase, join our Discord server to receive your license key.
Discord link is in the purchase confirmation.
✓ Lifetime license – one-time purchase, no recurring fees
✓ If the project is discontinued, all buyers will receive the source code
After purchase, join our Discord server to receive your license key.
Discord link is in the purchase confirmation.
✓ Lifetime license – one-time purchase, no recurring fees
✓ If the project is discontinued, all buyers will receive the source code
How it works:
Player → Proxy (handles Hytale login) → Your Servers
FEATURES
- Run multiple servers as one network
- Transfer players between servers
- Lobby fallback - if a server crashes or transfer fails, player goes back to lobby
- Server selector GUI (4 styles - dynamic or static, with or without icons)
- Full color customization for menu (background, buttons, text, accent)
- Portal blocks to transfer players (9 portal types!)
- Custom scoreboard HUD (text or image title)
- Network-wide placeholders ({online_total}, {server_online_X})
- PlaceholderAPI support on backend servers
- Lock time of day
- Lobby protection (no block break/place)
- All messages customizable
- Secure connection between proxy and servers
- IP banning system
- Player limit & rate limiting
PROXY SETUP
- Need Java 21 or newer
- Run:
java -jar getProxy.jar - Edit config.json - add your servers
- Run proxy again
- Type auth login and click the link
- Done
PROXY CONFIG
JSON:
{
"bindAddress": "0.0.0.0",
"bindPort": 25000,
"onlineMode": true,
"defaultServer": "lobby",
"lobbyServer": "lobby",
"fallbackToLobby": true,
"playerLimit": 100,
"proxySecret": "copy-from-backend-config",
"servers": [
{"name": "lobby", "address": "127.0.0.1", "port": 5011},
{"name": "survival", "address": "192.168.1.50", "port": 5011}
]
}
- bindPort - Port players connect to
- onlineMode - Hytale authentication (true = official accounts only)
- defaultServer - Where players go when joining
- lobbyServer - Fallback server if target fails
- fallbackToLobby - Send player to lobby when their server crashes or transfer fails
- playerLimit - Max players on network
- proxySecret - Copy this from backend config.json
PROXY COMMANDS
Code:
help Show commands
list Online players
info <player> Show player info (UUID, IP, server)
servers Show all servers
send <player> <server> Move player to server
kick <player> [reason] Kick player
ban <player> [reason] Ban player
unban <player> Unban player
banip <ip> [reason] Ban IP address
unbanip <ip> Unban IP address
auth login Start Hytale login
auth logout Clear credentials
auth status Check login status
stop Shutdown proxy
BACKEND PLUGIN SETUP
Each server needs the backend plugin and --auth-mode insecure flag.
- Put getBackend.jar in server's mods folder
- Add --auth-mode insecure to your server startup:
java -jar HytaleServer.jar --auth-mode insecure - Start server
- Copy proxySecret from backend config.json to proxy config.json
- Done
--auth-mode insecure is a Hytale server flag, not a plugin setting. Your servers are still protected by HMAC validation - only the proxy can connect.BACKEND CONFIG
JSON:
{
"lobby": true,
"spawnX": 0.0,
"spawnY": 100.0,
"spawnZ": 0.0,
"proxySecret": "auto-generated-copy-to-proxy",
"debug": false,
"fixedTime": true,
"fixedTimeHour": 12
}
- lobby - Turn on lobby mode (spawn teleport, menu item, protection)
- fixedTime - Lock time at specific hour
- fixedTimeHour - Hour (0-23). 0=midnight, 6=sunrise, 12=noon, 18=sunset
PLAYER COMMANDS
Code:
/server <name> Go to another server
/menu Open server selector
/lobby Go back to lobby
/hub Go back to lobby (same as /lobby)
/scoreboard Toggle scoreboard on/off
ADMIN COMMANDS
Code:
/send <player> <server> Send player to server
/setlobby Set spawn at your position
/getportal get Get portal block
/getportal get <type> Get specific portal type
/getportal get list Show all portal types
/getportal toggle Toggle portal edit mode
/sbreload Reload scoreboard config
/lobbyadmin reload Reload lobby menu config
PERMISSIONS
Code:
getbackend.lobby.bypass Skip lobby setup (no teleport, no clear inventory)
getbackend.scoreboard.reload Use /sbreload command
getbackend.lobby.admin Use /lobbyadmin reload
getbackend.portal.get Use /getportal get
getbackend.portal.config Use /getportal toggle
getbackend.setlobby Use /setlobby
getbackend.send Use /send command
SCOREBOARD
Custom HUD that shows on screen. Supports text title or custom image logo.
TEXT || IMAGE
Edit scoreboard.json:
JSON:
{
"enabled": true,
"title": "&e&lSERVER INFO",
"titleImage": true,
"titleImagePath": "UI/Custom/Textures/Icons/scoreboard_logo.png",
"refreshMs": 1000,
"lines": [
"",
"&fPlayer: &a{player}",
"&fOnline: &b{online}",
"&fNetwork: &b{online_total}",
"&fLobby: &b{server_online_lobby}",
"",
"&fWorld: &e{world}",
"",
"&7play.example.com"
]
}
- titleImage - true = show custom image, false = show text title
- titleImagePath - path to your logo image
- refreshMs - update interval in milliseconds (minimum 1000)
- lines - scoreboard content with color codes and placeholders
Built-in Placeholders:
- {player} - player name
- {online} - players on this server
- {world} - current world name
- {online_total} - total players on the entire network
- {server_online_lobby} - players on server "lobby"
- {server_online_survival} - players on server "survival"
- {server_online_ANYNAME} - players on any server, just change the name
PlaceholderAPI Support:
If you have PlaceholderAPI installed, you can use
%...% placeholders in scoreboard lines too.getBackend registers its own PAPI expansion (getproxy):
- %getproxy_online% - total players on the network
- %getproxy_server_online_lobby% - players on server "lobby"
- %getproxy_server_online_survival% - players on server "survival"
Color Codes: &a green, &b aqua, &c red, &e yellow, &f white, &7 gray, &l bold
SERVER SELECTOR GUI
Players get a book item. Right-click to open the menu.
Menu Styles:
- "dynamic" - Text buttons, fully configurable from JSON
- "dynamic_images" - With icons, fully configurable from JSON
"menuStyle": "dynamic_images"
"menuStyle": "dynamic"
Edit lobby_menu.json:
JSON:
{
"menuStyle": "dynamic_images",
"menuTitle": "SELECT SERVER",
"closeButtonText": "CLOSE",
"linksTitle": "LINKS",
"regionLabel": "REGION",
"regionValue": "North America",
"backgroundColor": "#0d1520(0.95)",
"accentColor": "#3a7bd5",
"buttonColor": "#1e2a3a",
"buttonHoverColor": "#2a3a4a",
"textColor": "#ffffff",
"secondaryTextColor": "#6e7da1",
"columns": 3,
"itemsPerPage": 6,
"bookSlot": 0,
"gameModes": [
{"displayName": "SkyWars", "serverName": "skywars", "iconTexture": "UI/Custom/Textures/Icons/skywars.png"},
{"displayName": "Survival Games", "serverName": "survivalgames", "iconTexture": "UI/Custom/Textures/Icons/survivalgames.png"},
{"displayName": "BedWars", "serverName": "bedwars", "iconTexture": "UI/Custom/Textures/Icons/bedwars.png"}
],
"links": [
{"displayName": "Website", "url": "https://example.com"},
{"displayName": "Store", "url": "https://store.example.com"},
{"displayName": "Discord", "url": "https://discord.gg/example"}
]
}
PORTAL SYSTEM
Place blocks that teleport players to other servers.
- /getportal get - Get a portal block
- Place the block
- /getportal toggle - Enter edit mode
- Click block, type server name
- Done - players who touch it get transferred
Portal Types:
Code:
/getportal get magic Purple magic portal (default)
/getportal get default Classic blue portal
/getportal get temple Ancient temple portal
/getportal get fire Fiery portal
/getportal get taiga Cold taiga portal
/getportal get void Dark void portal
/getportal get flat Ground portal
/getportal get voidinvasion Red void portal
/getportal get return Blue exit portal
LOBBY MODE
When lobby: true:
- Players spawn at set position
- Players get menu book
- Inventory cleared on join
- Can't break or place blocks
- Can't pick up or drop items
SECURITY
Proxy and backend use a shared secret key (HMAC-SHA256). Direct connections (skipping proxy) are blocked.
STATUS PING
Enable UDP status ping to check if proxy is online and how many players are connected.
Add to proxy config.json:
JSON:
"statusEnabled": true,
"statusPort": 5056
Test (Linux):
Code:
echo -ne '\x01' | nc -u -w1 YOUR_IP 5056
Response:
JSON:
{"online":true,"players":2,"maxPlayers":100,"motd":"getProxy Server"}
CUSTOM MESSAGES
All plugin messages are in messages.json. Change them to any language.
ROADMAP
Done:
Portal blocks (9 types)✓Player commands (/server, /menu, /lobby, /hub)✓Proxy secret authentication (HMAC-SHA256)✓Scoreboard HUD (text or image title)✓Fixed time of day✓Translatable messages✓Lobby protection✓Server selector GUI (4 styles)✓Full menu color customization✓IP banning✓Transfer on shutdown✓PlaceholderAPI support✓Network-wide player count placeholders✓Lobby fallback on crash/transfer failure✓
Planned:
- Offline mode (/login, /register)
- Server queue system
SUPPORT
Discord only - link in purchase confirmation.
