Ein Client ohne die Mod hat 10 Sekunden Zeit für den Handshake und fliegt dann. Ein Client mit etwas von deiner Blacklist fliegt sofort. Abgeglichen wird über Teilstring im Dateinamen und über SHA-256-Hash, xray.jar in optimization.jar umzubenennen hilft also niemandem.
Prüfablauf
- Ein Spieler verbindet sich und der Server prüft, ob der Client die Mod hat
- Server fordert die Mod-Liste und aktiven Ressourcenpakete des Clients an
- Antwortet der Client nicht innerhalb von 10 Sekunden → Verbindung getrennt
- Server prüft jeden Dateinamen (Teilstring-Treffer) und SHA-256-Hash gegen die Blacklist
- Jeder Treffer → sofortiger Kick mit einer spezifischen Begründung
Konfiguration
Blacklist wird über config/sarosmodchecker-blacklist.json verwaltet:
{
"blacklistedNames": [
"xray",
"cheat-client"
],
"blacklistedHashes": [
"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
]
}
blacklistedNames: Teilstring-Abgleich gegen den Dateinamen, Groß- und Kleinschreibung egal. Jede Mod und jedes Ressourcenpaket, dessen Dateiname einen dieser Strings enthält, wird markiert.blacklistedHashes: exakter SHA-256-Abgleich, der genau einen Build blockiert, egal wie er heißt.
Mod-Listen-Export
Bei jedem Server-Start schreibt die Mod [ServerRoot]/modlist.md, eine Markdown-Tabelle aller geladenen serverseitigen Mods mit Name, ID, Version und SHA-256-Hash.
Befehle
/checkclientmods <Spieler> (OP Level 2)
Ruft die vollständige Mod- und Ressourcenpaket-Liste eines Online-Spielers ab und zeigt sie an, einschließlich SHA-256-Hashes. Nützlich für manuelles Überprüfen verdächtiger Spieler oder Debuggen von Hash-Abweichungen.
Hinweis: Dieses Wiki ist die Dokumentation. Fragen und Bugs gehen schneller über den Discord-Server.