How to set up a Starbound server from scratch
Full setup walkthrough for a Starbound dedicated server: deploy via SteamCMD, configure starbound_server.config, set up serverUsers accounts and admin flags, manage the universe/ folder, install Steam Workshop and manual mods, walk through a Frackin' Universe installation, enable RP-friendly options (account-only connections, whitelist, persistent character storage), and fix the common errors.
- What you need first
- Deploy the server (1-click)
- File layout & where things go
- Core
starbound_server.config - User accounts & admin
- The
universe/folder & persistence - Mods via Steam Workshop
- Mods via manual
.pakupload - Installing Frackin' Universe
- RP server configuration
- Admin commands
- Connect and test
- Common errors and fixes
1. What you need first
- An active Starbound plan on Fatality Servers. See our Starbound hosting plans.
- A Steam copy of Starbound for each player.
- Enough RAM โ Starbound is lightweight per player but universe files grow over time. 2 GB fits a vanilla 4-player campaign; 4-6 GB handles vanilla RP at 12-16 slots; 8+ GB is comfortable for Frackin' Universe-scale modded servers with 10-20 players.
- A basic SFTP client (FileZilla, WinSCP) โ Starbound is entirely file-based.
- A list of player display names + passwords if you plan to run an account-based RP server.
Sizing note: Starbound's disk footprint grows as players visit new star systems. A long-running 20-player RP server can push the universe/ folder past 10 GB. Every plan ships NVMe sized well beyond that โ the bottleneck is usually CPU clock (chunk loading + Lua script ticks) rather than IO or memory.
2. Deploy the server (1-click)
Our Starbound template runs SteamCMD to pull the dedicated server (Steam App ID 533830), writes a starter starbound_server.config, and opens TCP/UDP port 21025 on your plan's IP.
-
Pick the Starbound template at checkout
On the Starbound hosting page, pick a plan sized for your slot count. 8-12 slots is comfortable on Starter; 20+ slot RP with Frackin' Universe wants Community or higher.
-
Wait for SteamCMD
Server is ~800 MB. First install takes 1-2 minutes. The first launch also generates initial universe files under
storage/universe/. -
Confirm the server is listening
[2026-04-18 12:34:56.123] [Info] Server Version 1.4.4 (linux x86_64) Source ID: ... [2026-04-18 12:34:56.456] [Info] Loading Star::Root... [2026-04-18 12:34:57.789] [Info] Loading asset sources... [2026-04-18 12:34:58.012] [Info] Loaded 1 asset source(s) in 0.5 seconds [2026-04-18 12:34:58.345] [Info] Server Setup OK [2026-04-18 12:34:58.456] [Info] TcpServer listening on: 0.0.0.0:21025 [2026-04-18 12:34:58.567] [Info] UniverseServer: listening for incoming TCP connectionsTcpServer listening on: 0.0.0.0:21025 means the server is accepting players.
3. File layout & where things go
/server-root/
โโโ linux/
โ โโโ starbound_server โ Linux server binary
โ โโโ run-server.sh
โโโ win32/
โ โโโ starbound_server.exe โ Windows server binary
โ โโโ launch_starbound_server.bat
โโโ osx/
โ โโโ starbound_server โ macOS binary (unused on our infra)
โโโ assets/
โ โโโ packed.pak โ base game content (don't edit)
โ โโโ user/ โ user-added legacy assets
โโโ mods/ โ drop .pak mods here (or Workshop symlinks)
โ โโโ FrackinUniverse.pak โ example
โโโ storage/
โ โโโ starbound_server.config โ main config (edit this)
โ โโโ starbound.log โ live log file
โ โโโ starbound.log.1, .2, .3 โ rotated old logs
โ โโโ universe/ โ persistent universe data
โ โ โโโ 0000000000000000_-40.tempworld โ world cache files
โ โ โโโ unique-outpost.world โ outpost hub
โ โ โโโ ... โ visited star systems
โ โ โโโ metadata.json โ universe metadata
โ โโโ player/ โ per-account character saves
โ โโโ <uuid>.player โ character binary
โโโ doc/ โ docs / license (unused)
The working directory matters. Starbound's server must be launched from inside its platform folder (linux/ or win32/) so it can find ../assets/, ../mods/, and ../storage/. Our launcher handles this; if you run the binary directly from SSH, always cd linux/ first, or pass -bootconfig with an absolute path.
4. Core starbound_server.config
Edit storage/starbound_server.config. It's JSON โ watch your commas and braces. The values that matter for most servers:
{
"allowAdminCommands": true,
"allowAdminCommandsFromAnyone": false,
"allowAnonymousConnections": true,
"allowAssetsMismatch": true,
"anonymousConnectionsAreAdmin": false,
"bannedIPs": [],
"bannedUuids": [],
"clearPlayerFiles": false,
"clearUniverseFiles": false,
"clientIPJoinable": false,
"clientP2PJoinable": true,
"configurationVersion": { "basic": 2, "server": 4 },
"gameServerBind": "*",
"gameServerPort": 21025,
"maxPlayers": 8,
"queryServerBind": "*",
"queryServerPort": 21025,
"queryServerEnabled": true,
"rconServerBind": "*",
"rconServerPort": 21026,
"rconServerEnabled": false,
"rconServerPassword": "",
"rconServerTimeout": 1000,
"serverFidelity": "automatic",
"serverName": "My Starbound Server",
"serverOverrideAssetsDigest": null,
"runQueryServer": true,
"allowBroadcastingInformation": true,
"serverUsers": {
"yourName": {
"admin": true,
"password": "change-me-strong"
}
}
}
The keys you'll actually touch:
serverNameโ name shown on the Steam Web API / server browser. 64 chars.maxPlayersโ slot count. Default 8, no hard upper limit โ push higher on plans with more RAM.gameServerPort/queryServerPortโ game port; leave at 21025 unless you know why you're changing it.allowAnonymousConnectionsโ iftrue, anyone can connect without an account; setfalsefor RP or controlled access.anonymousConnectionsAreAdminโ leave this false. Setting true grants admin to anyone who connects โ catastrophic.allowAssetsMismatchโ iftrue, clients with different mod versions can still join (useful for client-only cosmetics). Setfalseto enforce exact match.rconServerEnabledโ enable for remote RCON (port 21026 by default). RequiresrconServerPassword.serverUsersโ the critical one: define accounts (see next section).
5. User accounts & admin
Starbound's account system lives inside serverUsers in starbound_server.config. Each entry is a named account with a password and an admin flag:
"serverUsers": {
"AdminJane": {
"admin": true,
"password": "sup3rstrong"
},
"ModeratorMike": {
"admin": false,
"password": "modpassword"
},
"RegularPlayer": {
"admin": false,
"password": "letmein"
}
}
On join, the client enters the account name + password in the connect dialog. With allowAnonymousConnections: false, only accounts listed here can connect; with true, accounts are optional but using one still authenticates and grants admin where flagged.
5.1 Persistent character storage
When a player connects with a server account, their character is stored in the server's storage/player/ folder โ not on their local client. This is the standard setup for RP servers, because characters can only be used on that server and players can't leak items.
When a player connects anonymously, they use their local character (from their own Steam install). Progression lives on their client.
Password security: starbound_server.config stores passwords in plaintext. Restrict access to the config file via the panel's file permissions (chmod 600), don't commit it to git, and rotate passwords when staff leave. For an RP server with >30 accounts, consider a management tool like StarryPy3k, which handles accounts via a proxy layer.
6. The universe/ folder & persistence
Everything that happens in your server's universe โ chunks explored, bases built, colonies founded โ lives in storage/universe/. File layout:
unique-<id>.worldโ unique locations like the Outpost, Ark, Erchius Mining Facility. Persistent and shared across all players.<coord>.worldโ procedurally-generated planets players have visited. Only exist after first visit; retain all player modifications (mined tiles, placed structures).<coord>.tempworldโ temporary cache files used during active play.metadata.jsonโ universe seed + time state.players/<uuid>.shipworldโ each player's ship (their mobile base). Travels with the account.
Don't delete individual .world files carelessly. Removing a visited planet's world file re-generates it from scratch on next visit โ all player structures on that planet disappear forever. Delete the entire universe/ folder to reset the universe (effectively a "wipe"), but keep the player/ folder to preserve characters.
Regenerating a universe
To wipe the world but keep characters:
- Stop the server
- Rename
storage/universe/tostorage/universe.backup.<date>/ - Restart โ a fresh universe is generated on next boot
- Characters from
storage/player/keep their inventory, level, and ship (ships regenerate the shipworld on first join)
7. Mods via Steam Workshop
Starbound's Workshop integration auto-downloads subscribed mods on the server when pointed at a workshop_id. But the dedicated server doesn't have a Steam client by default, so there are two practical paths:
7.1 Pointing at Workshop via SteamCMD
-
Subscribe on your client
Pick your mods from the Starbound Workshop. Subscribe to each one.
-
Copy the downloaded
.pakfiles from your clientWorkshop mods land in
steamapps/workshop/content/211820/<workshop_id>/contents.pakon your local Steam install. Rename eachcontents.pakto something meaningful (e.g.FrackinUniverse_2.pak) and upload toserver-root/mods/. -
Restart the server
On boot, the log should show a line per loaded
.pak:Loading assets from: mods/FrackinUniverse.pak. Clients will see the mod advertised during connect.
7.2 Our panel's 1-click Workshop installer
Our Starbound template ships a Mods tab that takes a list of Workshop IDs and downloads the .pak files automatically via SteamCMD's workshop_download_item command. No local Steam client needed; just paste the numeric IDs.
8. Mods via manual .pak upload
Not every mod is on the Workshop โ the Chucklefish forums and Nexus Mods have plenty of community .pak files. Install flow:
-
Download the
.pakFrom the mod's release page. Unzip if it comes in a ZIP.
-
Upload to
mods/SFTP it into
server-root/mods/. Filenames can be anything Starbound-legal (MyMod.pak,cool_mod_v3.pak). -
Restart the server
On boot, every
.pakinmods/is loaded in alphabetical order. Checkstorage/starbound.logfor anyErrorlines โ bad mods will log specific errors pointing at which asset failed to load.
Client-side matching
With allowAssetsMismatch: false, clients must have the exact same mod .pak files as the server. Publish your mod list somewhere obvious (Discord, MOTD, server page) so players can subscribe to the matching Workshop items before joining.
With allowAssetsMismatch: true, clients can have different mods โ but missing mods mean missing assets (invisible walls, unspawned items). Cosmetic-only mods usually work fine in mismatch mode; gameplay / content mods don't.
9. Installing Frackin' Universe
Frackin' Universe (FU) is the Starbound mod โ a ~3 GB total conversion adding hundreds of biomes, items, races, mechanics, and its own tech tree. Most modded Starbound communities run FU as their core, with smaller mods layered on top.
-
Subscribe via Steam Workshop
FU is at Workshop ID 729480149. On your local Steam client, subscribe and let it download (~3 GB).
-
Copy
contents.pakto the serverFrom
steamapps/workshop/content/211820/729480149/contents.pak, upload to the server'smods/folder. Rename toFrackinUniverse.pakfor clarity. -
Check compatibility with other mods
FU is opinionated โ many popular QoL mods that work on vanilla Starbound conflict with FU's overhaul. The FU team maintains a compatibility list on GitHub. Safe companions:
- Avali Triage โ adds the Avali race (official FU support)
- Arcana โ fantasy-themed expansion, plays nicely with FU
- More Planet Info โ QoL, displays planet stats in your UI
- Enhanced Storage โ UI upgrade for chests
Known conflicts: most "better vanilla" overhauls, some race mods without FU patches.
-
Restart with extra memory
FU triples Starbound's asset-load memory requirement. Our panel lets you raise the per-server RAM allocation โ bump to at least 4 GB for FU, 8 GB for FU + 10-20 other mods.
-
Tell players to subscribe
FU is ~3 GB on the client too. Players need to subscribe on Workshop before they try to connect; otherwise they'll get a "missing assets" error. Post the Workshop collection link in your Discord/MOTD.
FU changes the progression curve. Mining, crafting, and research are all slower and deeper than vanilla. If you're used to vanilla's 20-hour main quest, FU's is more like 100+ hours. Set player expectations before opening the server โ a lot of "why is progression so slow" complaints trace back to admins not warning the group that FU is a different game.
10. RP server configuration
Starbound's biggest community is RP. A well-tuned RP config looks like this:
{
"allowAnonymousConnections": false,
"anonymousConnectionsAreAdmin": false,
"allowAdminCommands": true,
"allowAdminCommandsFromAnyone": false,
"allowAssetsMismatch": false,
"clientIPJoinable": false,
"clientP2PJoinable": false,
"maxPlayers": 24,
"serverName": "MyStarboundRP [EU] ยท Canon storyline",
"serverUsers": {
"AdminJane": { "admin": true, "password": "..." },
"ModMike": { "admin": false, "password": "..." },
"...": { "admin": false, "password": "..." }
}
}
Key points:
allowAnonymousConnections: falseโ every player must use an account. No drive-bys.allowAssetsMismatch: falseโ everyone must have the same mod set. Prevents cheaters from running unlisted content mods.clientIPJoinable: false,clientP2PJoinable: falseโ disables direct-IP and Steam-invite bypasses. Players can only join through the account system.serverUserspopulated for every character โ each RP character gets its own account. This is also how server-side character storage is enforced.
11. Admin commands
Open the in-game chat (Enter) and prefix commands with /:
/admin โ toggle admin mode (if your account has admin: true)
/pvp โ toggle PvP for your character
/whoami โ show your username + admin status
/serverwhoami โ show server identity
/suicide โ kill your character
/clearstagehand โ clean up leftover cutscene stagehands
# admin-only commands (when /admin is active):
/warp PlayerShip โ teleport to your ship
/warp ClientShip <user> โ teleport to another player's ship
/warp InstanceWorld outpost โ teleport to the Outpost
/spawnitem <itemname> <qty> โ give yourself items
/spawnmonster <type> <level>
/spawnnpc <species> <type>
/kick <user>
/ban <user> <reason> <length> โ length in minutes, 0 = permanent
/pvp <user> โ toggle PvP for another player
/settileprotection <dungeonId> <true|false>
/timewarp <seconds> โ skip in-game time
/gravity <number> โ override gravity on current world
/weather <weather name>
/help โ list available commands
RCON (optional)
Starbound has a built-in RCON that speaks the Source RCON protocol. To enable, set in starbound_server.config:
"rconServerEnabled": true,
"rconServerPort": 21026,
"rconServerPassword": "change-me-strong"
Connect with any Source RCON client (mcrcon, rcon-cli). Starbound RCON supports the same /-prefixed chat commands plus a few server-only ones like shutdown.
12. Connect and test
-
Launch Starbound on your PC
Main menu โ Multiplayer.
-
Enter the server address
Fill in:
Server Address: YOUR-SERVER-IP Server Port: 21025 Account: (your account name from serverUsers) Password: (the matching password)If your server uses
allowAnonymousConnections: true, leave Account/Password blank to connect as a guest. -
Verify admin status
In-game, open chat (
Enter) and type/admin. If your account hasadmin: true, you enter admin mode (visual indicator: small badge). Try/spawnitem perfectlygenericitem 5to smoke-test.
13. Common errors and fixes
"Could not connect to the specified server"
- Wrong port โ Starbound uses 21025, not some Steam default
- Firewall blocking TCP/UDP 21025 โ check the panel firewall
- Server hasn't finished its boot sequence yet โ wait until
TcpServer listening on: 0.0.0.0:21025appears in the log
"Client assets do not match server"
The client and server have different mod sets. Fixes:
- Client subscribes to all the server's Workshop mods (post the collection link)
- Server sets
allowAssetsMismatch: trueif the mismatching mods are client-only cosmetics - One specific mod got updated on the Workshop but the server's
.pakis old โ re-upload the latestcontents.pak
"Invalid username or password"
- Account name is case-sensitive โ
AdminJaneโadminjane - Password wrong โ check
starbound_server.config - Account doesn't exist yet โ add it to
serverUsers, restart
Server crashes on startup with "cannot load asset"
- A mod
.pakis corrupted or references missing dependencies โ remove mods one at a time to isolate - Two mods editing the same asset in an incompatible way โ check
storage/starbound.logfor the exact path - FU minor-version bumped while other mods haven't caught up โ downgrade FU or wait for dependent mods to update
Universe folder grows to 20+ GB
Normal after a year of heavy play. Cleanup options:
- Identify unvisited temp files:
*.tempworldunderuniverse/that haven't been modified in >30 days. Safe to delete โ they regenerate on next visit. - Don't touch
unique-*.worldfiles (outpost, missions) โ those are global progression. - If your RP server is accumulating abandoned character ships, reach out on Discord for each player and ask if they still play; delete offline character
.playerand.shipworldfiles for truly inactive accounts after confirming.
Admin commands don't work
- You haven't typed
/adminto activate admin mode - Your account doesn't have
admin: trueinserverUsers allowAdminCommands: falseat the config level โ flip to trueanonymousConnectionsAreAdmin: false(which is correct) + you connected without an account โ log in with your admin account
Players disconnected with "kicked by server" randomly
- Packet size limit exceeded โ usually happens with very dense base building (thousands of placed objects in a small area). Rare, but check
storage/starbound.logfornetwork packet overflow. - Network flap โ check your panel's network graph for the moment of disconnect
- Anti-cheat / mod conflict โ disable one mod at a time to isolate
Universe / save recovery
Starbound writes atomically to storage/universe/ but doesn't keep an internal backup. Our panel adds a safety net: hourly snapshots of storage/ with 30-day retention. Rollback from the dashboard in one click โ the server comes back online in about 10 seconds with your chosen snapshot loaded.
Stuck on something specific? Email support with your server IP, the last 200 lines of storage/starbound.log, and your starbound_server.config (redact passwords) โ we'll usually have an answer within the hour.