You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A player list overlay for Schedule I clients connected to a dedicated server, built on the S1DS mod API.
4
+
5
+

6
+
7
+
## Features
8
+
9
+
- Hold the configured key (default **F8**) to show the player list; release to dismiss it
10
+
- Displays player name, role badge (Operator / Admin / Player), and ping
11
+
- Roles are colour-coded: cyan for Operator, gold for Admin, grey for Player
12
+
- Ping is colour-coded: green < 70 ms, yellow 70–150 ms, red > 150 ms
13
+
- Panel is anchored to the **top-right** corner of the screen
14
+
- Pings are reported from the client's FishNet RTT and refreshed every few seconds
15
+
16
+
## Configuration
17
+
18
+
Settings are stored at:
19
+
20
+
```
21
+
<game folder>/UserData/S1DS-PlayerList.json
22
+
```
23
+
24
+
The file is created with defaults on first launch. Available options:
25
+
26
+
| Key | Default | Description |
27
+
|-----|---------|-------------|
28
+
|`toggleKey`|`"F8"`| Key to hold to show the overlay. Any [Unity `KeyCode`](https://docs.unity3d.com/ScriptReference/KeyCode.html) name is accepted (e.g. `"Tab"`, `"F8"`, `"BackQuote"`). |
Build output lands in `bin/Mono_Client/netstandard2.1/` and `bin/Mono_Server/netstandard2.1/`. If a deployment path is configured the DLL is also copied there automatically.
46
+
47
+
## Setup
48
+
49
+
### Inside the DedicatedServerMod repo
50
+
51
+
No extra configuration is needed. The project automatically inherits game paths from the root `local.build.props` and resolves the S1DS API DLLs from the repo's `bin/` directory.
52
+
53
+
### Standalone (own repo / separate folder)
54
+
55
+
1. Copy `local.build.props.example` → `local.build.props` in this directory.
56
+
2. Set `MonoClientGamePath` / `MonoServerGamePath` to your Schedule I install.
57
+
3. Ensure the S1DS mod (`DedicatedServerMod_Mono_Client.dll` / `DedicatedServerMod_Mono_Server.dll`) is present in the game's `Mods/` folder **or** in your deployment path — the build looks in the deployment path first, then falls back to `<GamePath>/Mods`.
58
+
4. (Optional) Set `ClientDeploymentPath` / `ServerDeploymentPath` to auto-copy the built DLL after build.
59
+
60
+
`local.build.props` is git-ignored and never committed. See `local.build.props.example` for the full annotated template.
61
+
62
+
#### Available properties
63
+
64
+
| Property | Required | Description |
65
+
|----------|----------|-------------|
66
+
|`MonoClientGamePath`|**Yes**| Schedule I **client** install directory (contains `Schedule I_Data/Managed/`, `MelonLoader/`, and `Mods/`). |
67
+
|`MonoServerGamePath`|**Yes**| Schedule I **dedicated server** install directory. Can be the same path as the client. |
68
+
|`ClientDeploymentPath`| No | After a successful `Mono_Client` build, copy the DLL here. Defaults to `<MonoClientGamePath>/Mods`. Also used as the first search location for `DedicatedServerMod_Mono_Client.dll`. |
69
+
|`ServerDeploymentPath`| No | After a successful `Mono_Server` build, copy the DLL here. Defaults to `<MonoServerGamePath>/Mods`. Also used as the first search location for `DedicatedServerMod_Mono_Server.dll`. |
- Does not reference the root `DedicatedServerMod.csproj` — compiles against the pre-built DLLs in the game install.
89
+
- If `local.build.props` is configured, the built DLL is copied into the matching game `Mods` folder after build.
90
+
- The project file selects the client or server source file based on the build configuration, so each side gets a clean mod class without any `#if CLIENT` / `#if SERVER` guards.
0 commit comments