# DedicatedServerMod Web Panel (/docs/schedule-1/web-panel)



import { Callout } from 'fumadocs-ui/components/callout';
import { Step, Steps } from 'fumadocs-ui/components/steps';

The S1 DedicatedServerMod ships an **optional web panel** — a browser-based admin interface separate from your XGamingServer panel. They're two different things:

|                 | XGamingServer panel                       | DedicatedServerMod web panel                      |
| --------------- | ----------------------------------------- | ------------------------------------------------- |
| What it manages | Server lifecycle, files, backups, billing | In-game world state and live admin                |
| Where it runs   | `panel.xgamingserver.com` (managed by us) | On your server's listen port, served by the mod   |
| Typical use     | Start/stop, file manager, console         | Live player list, world status, in-game commands  |
| Auth            | Your XGS account                          | Configured in the mod config (operator Steam IDs) |

You don't need the web panel — most admin work is fine from the XGS panel's **Console** tab. The web panel is useful when you want a live in-game view (current production lines running, dealer routes, NPC heat) that the XGS panel can't show.

<Callout type="warn">
  The web panel is **off by default**. When enabled it binds to localhost on the server. Never expose it directly to the public internet without auth — anyone who can reach the port can run operator commands.
</Callout>

***

Enable the web panel [#enable-the-web-panel]

<Steps>
  <Step>
    Stop your Schedule 1 server from the XGS panel **Dashboard**.
  </Step>

  <Step>
    Open **File Manager** → the DedicatedServerMod config file.
  </Step>

  <Step>
    Set the `webPanel` block:

    ```json
    {
      "webPanel": {
        "enabled": true,
        "bindAddress": "127.0.0.1",
        "port": 8080,
        "username": "admin",
        "password": "REPLACE_WITH_A_STRONG_PASSWORD"
      }
    }
    ```

    `bindAddress: "127.0.0.1"` keeps it localhost-only — accessible only through tunneling (recommended).
  </Step>

  <Step>
    Save and start the server. Watch the **Console** output — you'll see `Web panel listening on 127.0.0.1:8080` once the mod is up.
  </Step>
</Steps>

***

Access the web panel [#access-the-web-panel]

Because the web panel binds to localhost, you need to tunnel to it. Two options:

Option A — SSH/SFTP tunnel (most users) [#option-a--sshsftp-tunnel-most-users]

The simplest path. Use your XGS panel SFTP credentials:

```bash
ssh -L 8080:127.0.0.1:8080 <sftp-user>@<sftp-host> -p <sftp-port>
```

Then open `http://localhost:8080` in your browser. Log in with the username/password from the config above.

> Find your SFTP credentials on the XGS panel **Settings → SFTP Details** section.

Option B — Open the port on a dedicated allocation [#option-b--open-the-port-on-a-dedicated-allocation]

If you have a spare port allocation in the XGS panel:

<Steps>
  <Step>
    Open **Network → Allocations** in your XGS server panel.
  </Step>

  <Step>
    Note an additional port you've been allocated (or open a ticket to get one assigned).
  </Step>

  <Step>
    In the DedicatedServerMod config, set `bindAddress: "0.0.0.0"` and `port: <the-allocated-port>`.
  </Step>

  <Step>
    Restart the server. Now the web panel is reachable at `http://<your-server-ip>:<allocated-port>`.
  </Step>
</Steps>

<Callout type="warn">
  With Option B the web panel is exposed to the public internet. Make sure the password is strong and unique — and **change it on a rotation**. The DedicatedServerMod's auth is basic; treat the URL like a credential.
</Callout>

***

What you can do from the web panel [#what-you-can-do-from-the-web-panel]

The exact surface depends on the DedicatedServerMod release, but typical features:

* **Live player list** — names, Steam IDs, location in Hyland Point
* **Kick / ban** from the player list with one click
* **World state snapshot** — current time of day, weather, active events
* **Production overview** — running operations, dealer routes, employee assignments
* **Quick commands** — `say`, `save`, `restart` buttons that hit the same backend as the in-game chat
* **Mod list** — what's loaded, versions, errors from MelonLoader

See [docs.s1servers.com/web-panel](https://docs.s1servers.com/) for the screenshot tour of the current release.

***

Stick with the XGamingServer panel instead? [#stick-with-the-xgamingserver-panel-instead]

For 90% of day-to-day admin, the XGS panel is enough:

| Task                   | XGS panel       | DedicatedServerMod web panel      |
| ---------------------- | --------------- | --------------------------------- |
| Start / stop / restart | ✅ Dashboard     | ✅                                 |
| Edit config file       | ✅ File Manager  | ❌ (web panel doesn't edit config) |
| Send a `say` broadcast | ✅ Console tab   | ✅                                 |
| Live player list       | ❌               | ✅                                 |
| Backup / restore       | ✅ Backups tab   | ❌                                 |
| Scheduled tasks        | ✅ Schedules tab | ❌                                 |
| Resource graphs        | ✅ Dashboard     | ❌                                 |

If you only need start/stop, file edits, and command-line admin, **don't bother enabling the web panel** — it's an extra surface to secure.

***

Related Guides [#related-guides]

* [Operators, Admins & RCON →](/docs/schedule-1/operators-admins)
* [Commands Reference →](/docs/schedule-1/commands-reference)
* [Server Config Reference →](/docs/schedule-1/server-config)
