In diesem Guide zeige ich dir, wie man Benutzerberechtigungen in SourceMod verwaltet.
SourceMod ist ein MetaMod-Addon, das die meisten Spiele unterstützt, die auf der Source Engine laufen. Es ist eine leistungsstarke und stark optimierte Plattform zum Erstellen von Plugins und zur Verwaltung der Serveradministration. SourceMod wird häufig in Spielen wie Team Fortress 2, Left 4 Dead 2 und Counter-Strike: Source eingesetzt!
Wenn du einen Gameserver mit installiertem SourceMod betreibst, wirst du wahrscheinlich irgendwann dir selbst oder anderen Berechtigungen wie die Fähigkeit, Spieler zu kicken und zu bannen (Admin-Zugriff), gewähren wollen.
Steam-IDs finden
Bevor du Benutzern Berechtigungen zuweist, musst du ihre Steam-ID herausfinden. Sowohl SteamID2 (STEAM_X:X:XXXXXXXX) als auch SteamID3 ([U:X:XXXXXX]) Formate werden von SourceMod unterstützt.
Wenn du mit einem Server verbunden bist, der auf der Source Engine läuft, kannst du den Befehl status in der Entwicklerkonsole ausführen, um die Steam-IDs der aktuell verbundenen Spieler abzurufen.
Andernfalls kannst du Tools wie Steam ID Finder und Steam ID I/O verwenden, um Steam-IDs zu finden.
Flags
Um zu bestimmen, welche spezifischen Berechtigungen du Benutzern zuweisen möchtest, musst du das Flag-System von SourceMod und die damit verbundenen Zugriffsrechte verstehen. Jedes Flag wird durch ein einzelnes Zeichen zugewiesen.
Hier ist eine Liste der in SourceMod verfügbaren Flags.
| Name | Flag | Zweck |
|---|---|---|
| reservation | a |
Gewährt Zugriff auf reservierte Slots. |
| generic | b |
Gewährt generischen Admin-Status (erforderlich für Admin). |
| kick | c |
Gewährt die Berechtigung, andere Spieler zu kicken. |
| ban | d |
Gewährt die Berechtigung, andere Spieler zu bannen. |
| unban | e |
Gewährt die Berechtigung, Bans zu entfernen. |
| slay | f |
Gewährt die Berechtigung, andere Spieler zu töten (slay) und zu verletzen. |
| changemap | g |
Gewährt die Berechtigung, Maps oder wichtige Gameplay-Features zu ändern. |
| cvar | h |
Gewährt die Berechtigung, die meisten ConVars zu ändern. |
| config | i |
Gewährt die Berechtigung, Konfigurationsdateien auszuführen. |
| chat | j |
Gewährt besondere Chat-Privilegien. |
| vote | k |
Gewährt die Berechtigung, Abstimmungen zu starten oder zu erstellen. |
| password | l |
Gewährt die Berechtigung, ein Passwort auf dem Server zu setzen. |
| rcon | m |
Gewährt die Berechtigung, RCON-Befehle zu verwenden. |
| cheats | n |
Gewährt die Berechtigung, die ConVar sv_cheats zu ändern oder Cheat-Befehle zu verwenden. |
| root | z |
Aktiviert alle Flags und ignoriert Immunitätswerte. |
Zusätzlich gibt es benutzerdefinierte Flags, die von Plugins und Ähnlichem verwendet werden können.
| Name | Flag |
|---|---|
| custom1 | o |
| custom2 | p |
| custom3 | q |
| custom4 | r |
| custom5 | s |
| custom6 | t |
Weitere Informationen zu Flags findest du hier.
Passwörter
Wenn du möchtest, kannst du bestimmte Benutzer dazu verpflichten, ein Passwort einzugeben, bevor sie die ihnen zugewiesenen benutzerdefinierten Berechtigungen nutzen können. Sie müssen dieses Passwort jedes Mal eingeben, wenn sie sich mit dem Gameserver verbinden, können diesen Vorgang aber auf ihrer Seite automatisieren, wenn sie möchten.
Zunächst musst du die Datei addons/sourcemod/configs/core.cfg bearbeiten und den Wert der Zeile PassInfoVar von _password in etwas Individuelles wie _test ändern. Der Benutzer muss sowohl sein spezifisches Passwort als auch das Passwort kennen, auf das du PassInfoVar gesetzt hast.
Wenn sich der Benutzer mit dem Gameserver verbindet, muss er den folgenden Befehl in der Entwicklerkonsole ausführen.
setinfo "<PassInfoVar Password>" "<User Password>"
Zum Beispiel:
setinfo "_test" "myCustomPass123"
Wenn der Benutzer diesen Vorgang auf seiner Seite automatisieren möchte, muss er die Datei <Game Dir>/cfg/autoexec.cfg bearbeiten und den obigen Befehl in die Datei einfügen.
Immunität
Das immunity-Flag verhindert, dass Admins sich gegenseitig ins Visier nehmen können, abhängig vom Immunitätslevel des Clients.
Zum Beispiel: Wenn der erste Admin eine Immunität von 20 hat, während der zweite Admin nur eine Immunität von 10 hat. Der erste Admin kann den zweiten Admin ins Visier nehmen, aber der zweite Admin kann den ersten Admin nicht ins Visier nehmen.
HINWEIS - Admins mit dem z-Flag (root) können jeden Spieler oder Admin ins Visier nehmen, unabhängig vom Immunitätslevel.
Benutzerberechtigungen verwalten
Das Verwalten von Benutzerberechtigungen und das Zuweisen von Flags erfolgt durch Bearbeiten einer Datei im Verzeichnis addons/sourcemod/configs (bzw. dem Ordner addons\sourcemod\configs unter Windows).
Es gibt zwei Dateien, die du bearbeiten kannst und die im Folgenden erklärt werden.
Verwendung der Datei admins_simple.ini
Diese Datei wird verwendet, um Benutzerberechtigungen schnell zuzuweisen. Sie eignet sich am besten für einfache Setups oder wenn man einem Benutzer schnell Berechtigungen zuweisen möchte. Beim Zuweisen von Berechtigungen in dieser Datei sollte jede Zeile das folgende Format haben.
"<Steam ID/!IP/Steam name>" "[Immunity Level:]<Flags/@group>" ["password"]
Hier ist ein Beispiel, bei dem einem Benutzer die Flags reservation, generic, kick und ban mit 70 Immunität gewährt werden.
"STEAM_0:0:36969327" "70:abcd"
Verwendung der Datei admins.cfg
Die Verwendung dieser Datei erfordert mehr Zeilen beim Zuweisen von Berechtigungen an Benutzer, kann aber als übersichtlicher angesehen werden. Das Format der Datei verwendet SourceMods KeyValues. Benutzer sollten innerhalb des Admins-Abschnitts hinzugefügt werden.
Hier ist ein generisches Format zum Hinzufügen von Benutzern.
"<Name>"
{
"auth" "steam"
"identity" "<Steam ID>"
"flags" "<Flags>"
"immunity" "<Immunity>"
}
Hier ist eine Liste der Keys, die du jedem Benutzer zuweisen kannst.
auth- Muss entwedersteam,nameoderipsein (sofern keine benutzerdefinierte Authentifizierungsmethode vorliegt) und teilt SourceMod mit, wie der Identitätswert zu interpretieren ist.identity- Ein eindeutiger Wert, der es SourceMod ermöglicht, den Benutzer anhand einer Authentifizierungsmethode und des angegebenen Werts zu finden.password- Legt das Passwort fest, das der Benutzer eingeben muss.group- Legt einen Gruppennamen fest, den der Benutzer erben soll, sofern verfügbar. Es können mehrere group-Zeilen angegeben werden. Es sollte kein@-Symbol verwendet werden, da keine Mehrdeutigkeit besteht.flags- Die Zugriffs-Flags, die der Benutzer erhalten soll.immunity- Das Immunitätslevel, das der Benutzer erhalten soll.
Benutzer neu laden
Nachdem du Berechtigungen für Benutzer über die oben genannten Dateien zugewiesen hast, musst du den Admin-Cache neu laden, damit die Berechtigungen wirksam werden.
Der Cache sollte automatisch neu geladen werden, wenn die Map wechselt oder der Server neu startet. Du kannst den Serverbefehl sm_reloadadmins verwenden, um den Cache manuell neu zu laden, sodass du nicht auf einen Mapwechsel oder Serverneustart warten musst.
Siehe auch
- Adding Admins - Ausführliches Wiki von AlliedMods zum offiziellen Hinzufügen von Admins.
- SourceBans++ - Ein beliebtes Plugin, das die Verwaltung von Benutzern, Gruppen, Bans und mehr erleichtert!
Falls du Fragen oder Feedback zu diesem Guide hast, antworte bitte auf das zugehörige Forumsthema hier! Dieser Guide wird im Laufe der Zeit weiter bearbeitet und verbessert.
Tritt unserem Discord server bei!

