Skip to content

ZackaryH8/S1DS-PlayerList

Repository files navigation

S1DS-PlayerList

A player list overlay for Schedule I clients connected to a dedicated server, built on the S1DS mod API.

Player list overlay

Features

  • Hold the configured key (default F8) to show the player list; release to dismiss it
  • Displays player name, role badge (Operator / Admin / Player), and ping
  • Roles are colour-coded: cyan for Operator, gold for Admin, grey for Player
  • Ping is colour-coded: green < 70 ms, yellow 70–150 ms, red > 150 ms
  • Panel is anchored to the top-right corner of the screen
  • Pings are reported from the client's FishNet RTT and refreshed every few seconds

Configuration

Settings are stored at:

<game folder>/UserData/S1DS-PlayerList.json

The file is created with defaults on first launch. Available options:

Key Default Description
toggleKey "F8" Key to hold to show the overlay. Any Unity KeyCode name is accepted (e.g. "Tab", "F8", "BackQuote").

Example:

{
  "toggleKey": "F8"
}

Build

dotnet build S1DS-PlayerList.csproj -c Mono_Client
dotnet build S1DS-PlayerList.csproj -c Mono_Server

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.

Setup

Inside the DedicatedServerMod repo

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.

Standalone (own repo / separate folder)

  1. Copy local.build.props.examplelocal.build.props in this directory.
  2. Set MonoClientGamePath / MonoServerGamePath to your Schedule I install.
  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.
  4. (Optional) Set ClientDeploymentPath / ServerDeploymentPath to auto-copy the built DLL after build.

local.build.props is git-ignored and never committed. See local.build.props.example for the full annotated template.

Available properties

Property Required Description
MonoClientGamePath Yes Schedule I client install directory (contains Schedule I_Data/Managed/, MelonLoader/, and Mods/).
MonoServerGamePath Yes Schedule I dedicated server install directory. Can be the same path as the client.
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.
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.

Minimal example

<!-- local.build.props -->
<Project>
  <PropertyGroup>
    <MonoClientGamePath>/path/to/Schedule I</MonoClientGamePath>
    <MonoServerGamePath>/path/to/Schedule I</MonoServerGamePath>
    <!-- optional: override the default Mods/ deployment targets -->
    <!-- <ClientDeploymentPath>/path/to/client/Mods</ClientDeploymentPath> -->
    <!-- <ServerDeploymentPath>/path/to/server/Mods</ServerDeploymentPath> -->
  </PropertyGroup>
</Project>

Notes

  • Does not reference the root DedicatedServerMod.csproj — compiles against the pre-built DLLs in the game install.
  • If local.build.props is configured, the built DLL is copied into the matching game Mods folder after build.
  • 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.

About

A player list overlay for Schedule I clients connected to a dedicated server, built on the S1DS mod API.

Topics

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages