Skip to content

About

A weekly playtime tracking plugin for SCP: Secret Laboratory (EXILED

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 

Repository files navigation

WeeklyPlaytime

A lightweight and stable weekly playtime tracking plugin for
SCP: Secret Laboratory (EXILED).

This plugin records how long each player stays on the server and stores the data in
a simple playtime.csv file.

Supports UTF-8 nicknames, automatic saving, nickname updates,
and safe file replacement during runtime.


✨ Features

  • ✔ Tracks every player's total playtime based on UserId
  • ✔ Saves data in EXILED/Configs/WeeklyPlaytime/playtime.csv
  • ✔ Automatically updates:
    • When the player is verified (joins)
    • When the player disconnects
    • When a round ends
  • ✔ Nickname updates do not reset playtime
  • ✔ Uses CSV with UTF-8 encoding (supports Chinese names)
  • ✔ Safe file replacement logic (prevents data loss on save)
  • ✔ Handles concurrent read/write gracefully
  • ✔ Extremely stable (optimized version by 秋风拂过发梢)

📁 File Format

The saved CSV looks like:

UserId,Nickname,PlayTime

makefile

Example:

76561198000000000@steam,"秋风拂过发梢",02:34:51 12345678901234567@steam,"ZJY",00:15:22

markdown

  • UserId: Steam or Northwood ID
  • Nickname: UTF-8 encoded, automatically escaped
  • PlayTime: HH:mm:ss

🛠 Installation

  1. Install EXILED on your SCP:SL server.
  2. Build the plugin using .NET Framework 4.8.1.
  3. Place the compiled WeeklyPlaytime.dll into:

SCP Secret Laboratory/EXILED/Plugins/

markdown

  1. Start the server once. EXILED will generate:

EXILED/Configs/WeeklyPlaytime.yml EXILED/Configs/WeeklyPlaytime/playtime.csv

yaml

You're done 🎉


⚙ Configuration

WeeklyPlaytime.yml:

is_enabled: true
debug: false
Options
Setting	Type	Description
is_enabled	bool	Enables or disables the plugin
debug	bool	Outputs extra debug information

📦 Project Structure
kotlin

WeeklyPlaytime/
│
├── WeeklyPlaytime.cs      (main plugin logic)
├── Config.cs              (Exiled configuration class)
├── WeeklyPlaytime.csproj  (project file)
├── README.md              (this file)
└── .gitignore             (recommended)
🔧 Recommended .gitignore
markdown

bin/
obj/
.vs/
*.dll
*.pdb
*.user
*.cache
*.log
🔮 Future Plans
Weekly leaderboard

Admin commands (wp top, wp reset)

Integration with VIP / Points / Exp systems

Web dashboard for viewing playtime

About

A weekly playtime tracking plugin for SCP: Secret Laboratory (EXILED

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages