RocketMod and Unturned Plugin Management via Pterodactyl
Unturned is the easiest survival game to host (free, lightweight, vanilla under 2 GB resident), but the vanilla server has no real admin tooling. The community RocketMod framework fixes that, adding chat commands, permission groups, economy plugins, and event hooks. This guide deploys Unturned inside a stock Pterodactyl egg on Ubuntu 24.04, sideloads RocketMod through the panel file manager, and configures Permissions.config.xml so staff roles inherit cleanly without giving everyone the kick command.
Prerequisites
- Ubuntu 24.04 with a working Pterodactyl panel and at least one Wings node.
- The community Unturned egg imported into the panel (yolks repo, game_servers/unturned).
- UDP 27015 to 27017 open at the host firewall and forwarded to the container.
- SteamID64s for every administrator you want to grant elevated permissions to.
Step 1: Create the Server in Pterodactyl
In the panel admin area, create a new server, select the Unturned egg, allocate 2 GB of memory and 5 GB of disk, and pick UDP 27015 as the primary allocation. Start the server once so SteamCMD pulls a clean install.
Step 2: Download and Sideload RocketMod
RocketMod ships as a single zip on its release page. Download it, unpack it locally, and drag the entire Rocket.Unturned folder into the server's Modules directory through the panel file manager (or push via SFTP).
# On your local machinewget https://github.com/SmartlyDressedGames/Legally-Distinct-Missile/releases/latest/download/Rocket.Unturned.zipunzip Rocket.Unturned.zip -d Rocket.Unturned# Then SFTP into the Pterodactyl container as the daemon SFTP usersftp -P 2022 user.xxxx@panel.example.comsftp> put -r Rocket.Unturned /home/container/Modules/Step 3: First Boot With RocketMod
# Restart the server, look for these lines[loading] Loading Rocket.Unturned 4.9.x.x[loading] Initializing Rocket Plugins[info] Rocket loaded successfullyStep 4: Configure Permission Groups
RocketMod creates Servers/<instance>/Rocket/Permissions.config.xml on first run. Replace it with a properly tiered structure so default players cannot use staff only commands. Inheritance flows from the lowest priority group upward.
<?xml version="1.0" encoding="utf-8"?><RocketPermissions> <DefaultGroup>default</DefaultGroup> <Groups> <Group> <Id>default</Id> <DisplayName>Survivor</DisplayName> <Prefix>[S] </Prefix> <Priority>0</Priority> <Permissions> <Permission>p</Permission> <Permission>compass</Permission> <Permission>home</Permission> </Permissions> </Group> <Group> <Id>moderator</Id> <DisplayName>Moderator</DisplayName> <Prefix>[M] </Prefix> <Priority>10</Priority> <ParentGroup>default</ParentGroup> <Members> <Member>76561198000000001</Member> </Members> <Permissions> <Permission>kick</Permission> <Permission>mute</Permission> <Permission>tp</Permission> </Permissions> </Group> <Group> <Id>admin</Id> <DisplayName>Admin</DisplayName> <Prefix>[A] </Prefix> <Priority>100</Priority> <ParentGroup>moderator</ParentGroup> <Members> <Member>76561198000000002</Member> </Members> <Permissions> <Permission>ban</Permission> <Permission>i</Permission> <Permission>v</Permission> <Permission>save</Permission> </Permissions> </Group> </Groups></RocketPermissions>Step 5: Plugin Hot Reload
# Reload permissions without restarting the serverrocket reload# List loaded pluginsrocket pluginsPerformance and Tuning
- Keep memory at 2 GB unless you load the Workshop, Unturned's Unity build does not scale past that.
- Disable the panel's auto restart on crash for 30 seconds after RocketMod reloads, plugin compilation briefly spikes CPU.
- Back up the Permissions.config.xml file daily, a single broken tag locks every player out of every command.
Conclusion
With RocketMod installed through the panel file manager and a tiered permissions XML in place, Unturned becomes a real community server: scoped staff powers, plugin extensibility, and a hot reload loop that does not require kicking players. Pterodactyl handles the container lifecycle, RocketMod handles everything inside it.