# Hosting a Romestead Server on XGamingServer — Complete Setup Guide (/docs/romestead/getting-started)



import { Step, Steps } from 'fumadocs-ui/components/steps';
import { Tab, Tabs } from 'fumadocs-ui/components/tabs';
import { File, Folder, Files } from 'fumadocs-ui/components/files';

This guide walks you through standing up a brand-new Romestead world on XGamingServer — from the moment you check out to your first session with friends. By the end you'll know which Startup tab variable controls what in `config.json`, where your world save lives, how to run console commands, and how to back up before risky changes.

> **Don't have a server yet?** [Get Romestead Server Hosting](https://xgamingserver.com/romestead-server-hosting) — instant setup, AMD Ryzen 9 7950X cores, DDoS protection, 24/7 support, 30% off with code `XGAMEON`.

What You're Running Under the Hood [#what-youre-running-under-the-hood]

Romestead's official **standalone dedicated server tool** (Steam app id `4763510`) is a cross-platform .NET 8 application:

* **Binary:** `Server.dll` launched as `dotnet Server.dll`
* **Working directory:** `/home/steam/server-files/` (this is your "server root" in the **Files** tab)
* **Config file:** `config.json` (auto-generated from your Startup tab on every restart)
* **Default port:** `8050/UDP`
* **Save data:** lives inside `server-files/` alongside the binary
* **Updates:** delivered via DepotDownloader against Steam app `4763510` whenever you restart with `UPDATE_ON_START=true`

Beartwigs balances the game for **1-8 players in co-op** with difficulty that scales to party size. Going past 8 works on higher-tier plans but the game's difficulty curve targets ≤8.

Step 1 — Start Your Server [#step-1--start-your-server]

<Steps>
  <Step>
    Open the panel [#open-the-panel]

    After checkout, you'll get an email with your panel login. Go to [panel.xgamingserver.com](https://panel.xgamingserver.com) and sign in.
  </Step>

  <Step>
    Select your Romestead server [#select-your-romestead-server]

    Your server is listed on the dashboard. Click into it.
  </Step>

  <Step>
    Wait for the install to finish [#wait-for-the-install-to-finish]

    On the first boot, the panel runs DepotDownloader to fetch the dedicated server files from Steam. The **Console** tab will show install progress. This takes a few minutes on first launch — subsequent restarts skip the install if `UPDATE_ON_START` is left at default.
  </Step>

  <Step>
    Click Start [#click-start]

    On the **Dashboard**, click **Start**. The server boots, regenerates `config.json` from your Startup tab variables, and begins listening on UDP port `8050`. When you see the world generation or load complete in the **Console**, you're ready to join.
  </Step>
</Steps>

Step 2 — Configure Your Server (Startup Tab Variables) [#step-2--configure-your-server-startup-tab-variables]

XGamingServer regenerates `config.json` from your **Startup** tab variables on every restart. Edit there for changes that persist; the `config.json` file is the runtime output, not the source of truth. See [Server Configuration](/docs/romestead/server-config) for the full caveat.

Startup Tab Variables [#startup-tab-variables]

| Startup tab variable         | `config.json` key        | Default | What it does                                                                                                                          |
| ---------------------------- | ------------------------ | ------- | ------------------------------------------------------------------------------------------------------------------------------------- |
| `UPDATE_ON_START`            | (n/a — install step)     | `true`  | Run DepotDownloader before each launch to validate / update server files. Set `false` to skip and boot faster after the first install |
| `AUTO_START_WORLD_NAME`      | `AutoStartWorldName`     | `World` | Name of the world to load. Leave at `World` for a clean install — the server will create it on first boot                             |
| `AUTO_CREATE_AND_LOAD_WORLD` | `AutoCreateAndLoadWorld` | `true`  | If `true` and the world named above doesn't exist, create it. Set `false` if you're uploading a world manually                        |
| `AUTO_CREATE_WORLD_SIZE`     | `AutoCreateWorldSize`    | `1`     | Size of the auto-created world. Higher = more map but more RAM / disk                                                                 |
| `AUTO_CREATE_WORLD_SEED`     | `AutoCreateWorldSeed`    | `null`  | RNG seed. `null` = random. Set a specific integer to reproduce the same map layout                                                    |
| `PASSWORD`                   | `Password`               | (empty) | Server password. Empty = open server. Set this for private groups                                                                     |
| `PORT`                       | `Port`                   | `8050`  | UDP port the server listens on. Match this to your **Network** tab allocation if you change it                                        |
| `MAX_PLAYERS`                | `MaxPlayers`             | `8`     | Concurrent player cap. Romestead is balanced for 1-8 — push higher only on bigger plans                                               |
| `ENABLE_CHEATS`              | `EnableCheats`           | `false` | Enable cheat commands server-wide. For test worlds only                                                                               |

Editing a Variable [#editing-a-variable]

<Steps>
  <Step>
    Open the Startup tab [#open-the-startup-tab]

    In your Romestead server's sidebar, click **Startup**. You'll see the variables in a two-column grid.
  </Step>

  <Step>
    Change the value [#change-the-value]

    Click into the field, edit, and the panel saves automatically.
  </Step>

  <Step>
    Restart for it to take effect [#restart-for-it-to-take-effect]

    Click **Restart** on the **Dashboard**. The panel writes the new `config.json` and the server picks it up on boot.
  </Step>
</Steps>

Step 3 — Connect to Your Server [#step-3--connect-to-your-server]

<Steps>
  <Step>
    Copy your IP and port [#copy-your-ip-and-port]

    On the **Dashboard**, copy your server's public IP. The default port is `8050/UDP` — check the **Network** sidebar entry if you changed `PORT`.
  </Step>

  <Step>
    Launch Romestead via Steam [#launch-romestead-via-steam]

    Open Romestead from your Steam library.
  </Step>

  <Step>
    Join via direct IP [#join-via-direct-ip]

    From Romestead's multiplayer / join menu, enter:

    ```
    123.45.67.89:8050
    ```

    Use your server's actual IP. Enter the `PASSWORD` if you set one.
  </Step>
</Steps>

Detailed connection troubleshooting is in [Join Your Server](/docs/romestead/join-server).

Step 4 — Where Your World Save Lives [#step-4--where-your-world-save-lives]

The dedicated server writes its world data inside the `server-files/` directory:

<Files>
  <Folder name="server-files" defaultOpen>
    <File name="Server.dll" />

    <File name="config.json" />

    <Folder name="linux64">
      <File name="libsteam_api.so" />
    </Folder>

    <Folder name="saves" defaultOpen>
      <File name="World.sav" />

      <File name="..." />
    </Folder>

    <Folder name="logs" />
  </Folder>
</Files>

The exact file layout inside `saves/` depends on the world name and the Romestead build (Beartwigs is iterating during Early Access). Browse the **Files** tab to see what's currently on disk.

**You don't normally touch save files by hand.** Use the panel's **Backups** flow to snapshot before risky changes — that's safer than copying files. See [Automated World Backups](/docs/romestead/world-backups).

Step 5 — Console Commands & RCON [#step-5--console-commands--rcon]

Romestead's dedicated server accepts admin commands on **standard input**. The panel's **Console** tab is wired to that stdin, so the full command set works without an external RCON client.

The most common commands:

```
list                                # show connected players
say Server restart in 5 minutes!    # broadcast to all players
kick <PlayerName>                   # disconnect a player
ban <PlayerName>                    # permanent ban
save                                # save the world now
stop                                # save and shut down
```

There is **no separate RCON daemon** — stdin is the entire admin API. Full reference and walkthrough in [Admin Setup](/docs/romestead/admin-setup).

Step 6 — Back Up Before Risky Changes [#step-6--back-up-before-risky-changes]

Romestead is in active Early Access. Patches can break save compatibility, and you'll occasionally make a config change that doesn't pan out. Take a manual snapshot first:

<Steps>
  <Step>
    Open Backups [#open-backups]

    From the sidebar, click **Backups**, then **Create Backup**. Give it a descriptive name (e.g. `before-patch-2026-06-15`).
  </Step>

  <Step>
    Schedule recurring backups [#schedule-recurring-backups]

    Click **Schedules** → **Create Schedule**. Cron expression `0 4 * * *` runs every day at 04:00 server time. Add a task: **Create Backup**. Save.
  </Step>
</Steps>

Full backup + restore guide in [Automated World Backups](/docs/romestead/world-backups).

Sizing Recommendations [#sizing-recommendations]

Based on Beartwigs' own Docker reference and observed behaviour during our testing:

| Group size                   | Recommended plan            | Why                                                                                                                                               |
| ---------------------------- | --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- |
| **1-2 players (solo / duo)** | Novice (6 GB DDR5, 2 cores) | Plenty of headroom for the official 1-8 design                                                                                                    |
| **3-6 players**              | Rookie (8 GB DDR5, 3 cores) | Sweet spot for most friend groups                                                                                                                 |
| **7-8 players (full lobby)** | Pro (12 GB DDR5, 4 cores)   | Romestead's simulation is **CPU-hungry** — we've seen it peg the allocated cores at full lobbies. Extra cores give the simulation room to breathe |
| **Beyond 8 players**         | ProMax / Ultimate           | Past the game's balanced range; you need more RAM for the larger sim and more cores so the dotnet process isn't CPU-bound                         |

If your **Console** is showing tick warnings or your players are reporting laggy combat, the answer is almost always **more CPU**, not more RAM. Upgrade plan from the panel anytime — your billing follows you.

Common First-Boot Symptoms (and Their Fixes) [#common-first-boot-symptoms-and-their-fixes]

| Symptom                                                        | Cause                                                                                       | Fix                                                                                                                            |
| -------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------ |
| Server stuck on "Cancelling world creation" or boots to a menu | `AUTO_START_WORLD_NAME` was empty                                                           | Set a value (`World` is the default). Already fixed on new XGS installs                                                        |
| Crash referencing **GameAnalytics**                            | Missing `~/.local/share/GameAnalytics` dir before launch                                    | Fixed in the XGS egg (the directory is created in `init.sh`). If you see this, your egg is out of date — open a support ticket |
| CPU pegged at allocation limit                                 | Romestead's simulation is CPU-intensive, especially at higher player counts and world sizes | Upgrade to a plan with more cores (Pro or higher)                                                                              |
| `Address already in use` on port 8050                          | Old server process still running, or port already mapped                                    | Click **Stop** on the **Dashboard**, wait 30s, then **Start**. If the issue persists, contact support                          |

Full troubleshooting reference: [Troubleshooting](/docs/romestead/troubleshooting).

Related Guides [#related-guides]

* [Join Your Server](/docs/romestead/join-server)
* [Server Configuration (`config.json`)](/docs/romestead/server-config)
* [Admin Setup & Console Commands](/docs/romestead/admin-setup)
* [Automated World Backups](/docs/romestead/world-backups)
* [Troubleshooting](/docs/romestead/troubleshooting)
