Managing Your Servers

The day-to-day workflow of running game servers with Saba-chan — from creating, starting, and monitoring instances to inviting friends and integrating with Discord.

Managing Your Servers

This document explains how to use Saba-chan from a user's perspective. Even without touching module code or writing your own extensions, this single page is enough to run one or two game servers for your friends.

Installation is covered in Getting Started, and bot pairing in Discord Bot & Cloud Relay. Here, we assume you've already finished installing and focus on what to click and what to look at while the GUI is open.


1. Big picture: the GUI is a remote, the daemon runs the servers

The first thing to grasp is that closing the GUI window does not shut down your game servers.

  • saba-chan-gui (window) — the remote control that sends commands to the daemon and renders the screen.
  • saba-chan.exe (daemon) — the core process that runs in the background, spawning and supervising game server processes.
  • Game server processes — the actual servers spawned as child processes by the daemon (java, PalServer.exe, ProjectZomboid64.exe, etc.).

So your day-to-day operations look like this:

  1. Boot your PC, launch the GUI → the daemon starts alongside it (or is already running).
  2. When your friends are about to come online, hit Start in the GUI.
  3. While playing, you can minimize or even close the GUI window. The server keeps running.
  4. After you're done, open the GUI again and hit Stop.

🔌 If you turn off the PC, the game server obviously goes down with it. The daemon only runs on your own PC, so for 24/7 operation you're better off with separate hosting.


2. Creating your first instance (quick recap)

The full installation flow is in Getting Started §4. In short:

  1. Click the + New Server button on the left side of the GUI.
  2. Pick a game module (Minecraft / Palworld / Project Zomboid, etc.).
  3. Choose the version and install path.
  4. During installation, a progress bar and log are shown. This is where SteamCMD or the original game files are downloaded.
  5. Once installation finishes, the instance card is added to the list on the left.

🪪 Feel free to give the instance a friendly name like "Minecraft with Friends" or "Weekend Zomboid". The bot takes the module name as an argument, so the instance name is purely for identification.


3. Daily operation flow

3.1 Start / Stop / Restart

  • Start button: runs the module's pre_start hook → spawns the process → enters Running state. The game server's stdout streams into the console.
  • Stop button: sends the graceful shutdown command defined by the module (e.g., Minecraft stop, Palworld Shutdown) and waits 30 seconds by default. If there's no response, it force-kills.
  • Restart button: bundles stop → short cooldown → start automatically.

⏱ For 30 seconds right after a stop, the daemon pauses crash detection so it doesn't mistake "process gone" for a crash.

3.2 Viewing the console / sending commands

  • Click an instance card and the console panel opens on the right.
  • Every line the game server writes to stdout is shown in near-real time (2-second polling).
  • Type a command in the input box and press Enter — it's delivered via stdin, RCON, or REST, whichever the module specifies. For example, say 안녕! or op 친구닉 in Minecraft.
  • The console buffer keeps the most recent 10,000 lines in daemon memory. To go further back, check the file logs under %APPDATA%\saba-chan\logs\.

3.3 Running multiple instances side by side

  • You can have multiple instances of the same game (e.g., "Vanilla MC" and "Modpack MC"), or even different games at the same time.
  • However, you must manually make sure the ports don't collide between instances. (You can change the port from the module settings screen.)
  • Your PC's RAM/CPU usage scales accordingly, so plan based on your resources.

3.4 Auto-start

  • Under Settings → Auto Start in the GUI you can enable two things:
    • Auto-launch the Saba-chan daemon at PC boot.
    • Auto-launch the Discord bot when the daemon starts (autoStart in bot-config.json).
  • Auto-starting an instance itself is enabled separately on the instance card. When enabled, that instance is started automatically right after the daemon comes up.

3.5 Automatic crash recovery

  • If a game server process exits unexpectedly, the daemon transitions its state from Running → Crashed and attempts an automatic restart according to the module's restart policy (default unless-stopped).
  • Servers stopped by you pressing the Stop button are not subject to auto-restart.
  • If you don't want infinite restart loops, change restart to on-failure or no in the module settings.

4. Letting your friends connect

If the server is up but your friends can't get in, it's almost always one of these three:

4.1 Friends on the same Wi-Fi (LAN)

No extra setup — just connect to the server PC's private IP (e.g., 192.168.0.10) and port.

4.2 Remote friends — router that supports port forwarding

  1. In your router's admin page, forward the game's port to the server PC's private IP.
  2. The address you share: <public IP>:<port>. Look up your public IP at sites like whatismyip.com.
  3. Allow the port for inbound traffic in the Windows Firewall.

4.3 Remote friends — environments where port forwarding isn't possible

If you're on a school/office network, an ISP using CGNAT, guest Wi-Fi, or anywhere port forwarding is blocked, we recommend cloud relay mode.

  • Switch to Cloud Mode in the GUI → issue a pairing code → deliver the code via the Discord bot.
  • After that, friends can simply type commands like 사바쨩 start <game> in Discord to bring the server up, and the bot tells them where to connect.
  • See Discord Bot & Cloud Relay for the full flow.

🛡️ The cloud relay forwards only control commands (start/stop/status), not the game traffic itself. For games without P2P connectivity, you may also need an additional solution (e.g., ZeroTier, Tailscale).


5. Using it with the Discord bot — one-page summary

Once you've paired the bot, 90% of daily operation can be done from Discord without opening the GUI.

SituationDiscord command (default prefix 사바쨩)
"Let's fire up MC tonight"사바쨩 start 마인크래프트
"Is the server up right now?"사바쨩 status 마인크래프트
"Time to shut it down"사바쨩 stop 마인크래프트
"Who's online right now?"사바쨩 마인크래프트 list
"Bored — let's play music"사바쨩 음악 재생 lofi hip hop
Rock-Paper-Scissors사바쨩 가위바위보

If you register aliases (마크, mc, ㅁㅋ, etc.) you can type even less. The full command list and how to register aliases live in the Commands doc.

For the bot's own setup, pairing, and how the relay works, see Discord Bot & Cloud Relay.


6. Updates, backups, cleanup

6.1 Updating Saba-chan itself

  • When Saba-chan detects a new version, a notification badge appears in the top-right of the GUI.
  • Hitting Download Update → Apply has the updater swap out the binary — no separate installer needed.
  • Game servers aren't affected, but the daemon restarts briefly, so pick a quiet moment.

6.2 Backing up game server data

  • Game data (worlds, saves) lives directly inside each instance's install folder. Copying the whole folder elsewhere is the backup.
  • The location varies by module — Minecraft uses world/, Palworld uses Pal/Saved/, Zomboid uses ~/Zomboid/Saves/, and so on.
  • Some modules send an auto-save command (save-all, etc.) right before shutdown, so copying after a clean stop is relatively safe.

6.3 Uninstalling

  • Saba-chan doesn't touch the registry or PATH.
  • Delete the install folder (typically C:\Program Files\saba-chan\) and the data folder %APPDATA%\saba-chan\, and it's gone without a trace.
  • The original game server files are deleted only if you tick the Delete data folder too option when removing an instance from the GUI. Double-check before proceeding.

7. When something goes wrong

  • If a red line appears in the console panel, try searching for that exact message first. Saba-chan shows the game server's output as-is, without any post-processing.
  • If you're still stuck, Troubleshooting collects common scenarios and resolution flows.
  • If you've hit a new issue, file it on GitHub Issues along with the console output. Saba-chan keeps daemon logs under %APPDATA%\saba-chan\logs\ — attaching them speeds up diagnosis a lot.

Next up: Discord Bot & Cloud Relay or Commands.