TCP-Interface
Aus Manu-Admin-Mod
Mithilfe der TCP-Schnittstelle, welche ab Version 0.10 in den Manu-Admin-Mod integriert ist, lässt sich dieser komplett über ein Windows-Programm fernsteuern. Man muss sich dazu nicht auf dem Server befinden und kann trotzdem nahezu alle Befehle ausführen.
Um sich mit dem Programm in dem Mod einzuloggen, müssen vorher User und Passwörter für den Login festgelegt werden. Die User können dann den Gruppen zugeordnet werden, welche in der groups.cfg festgelegt wurden.
Das entsprechende Programm (ManuAdminMod TCP-Console) ist mit dem Hauptpaket mitgeliefert.
Inhaltsverzeichnis |
Tutorials
Folgendes Tutorial ist für dieses Thema vorhanden: Einrichten der TCP-Schnittstelle
Funktionen
Im folgenden werden die Funktionen aufgelistet, welche die TCP-Schnittstelle den Usern bietet. Dazu muss nur eine entsprechende Verbindung zu dem Mod hergestellt werden und ein gültiger Login existieren.
!Befehle
Natürlich ermöglicht es die Konsole, (fast) alle für den User erlaubten Commands auszuführen. Die Funktionsweise ist dabei die allerselbe wie wenn man selber auf dem Server wäre. Die TCP-Console bietet sogar ein grafisches Interface für nahezu alle Standard-Befehle.
Um einen Befehl auszuführen, muss der einfach wie gewohnt mit dem Prefix-Zeichen (Standard: !) eingegeben werden.
Chat
Desweiteren lässt sich mithilfe der Schnittstelle der komplette Chat auf dem Gameserver verfolgen und es ist auch möglich, daran Teil zu nehmen. Alle Nachrichten der Benutzer werden direkt in der Console angezeigt. Wenn man selber etwas schreiben möchte, so tippt man einfach den Text in das Textfeld ein, genau so wie im InGame-Chat.
Adminbefehle
Es gibt eine kleine Liste von Verwaltungsbefehlen für das TCP-Interface. Für einige sind spezielle Berechtigungen erforderlich. Diese können in der config.cfg eingestellt werden (siehe unten). Diese Befehle können ebenfalls einfach in die Console eingegeben werden.
| Befehl | Parameter | Beschreibung | Erw. Berechtigung |
|---|---|---|---|
| info | Zeigt Informationen über die aktuelle Verbindung | Nein | |
| quit | Beendet die Verbindung | Nein | |
| logout | Der User wird ausgeloggt | Nein | |
| lc | Zeigt alle aktuellen Verbindungen an | Ja | |
| kick | ConID | Kickt einen TCP-User anhand der Connection-ID (abrufbar über lc) | Ja |
RCON-Befehle
Ebenfalls können über die Console direkt RCON-Befehle ausgeführt werden. Dazu muss vor den entsprechenden RCON-Befehl einfach ein "rcon" gesetzt werden. Beispiel:
rcon dvarlist sv_*
Um den Befehl nutzen zu können, muss die Gruppe, der der User angehört, Zugriff auf den Befehl "!rcon" haben.
Konfiguration
Die Konfiguration erfolgt über die config.cfg im Abschnitt [tcp_query]
Die Benutzter werden in der tcp_user.db unter config/plugins eingetragen (dazu den entspr. Konfiguratior verwenden)
[tcp_query] enabled = 1 ip = "0.0.0.0" port = 1337 logintimeout = 30 defaulaction = "say" sayprefix = "^3TCP-Admin (<ADMIN>): ^7" admingroups = "master,admin" disallowedcommands = "vote,yes,no,stats,session" maxconnections = 5
Erläuterung
| Variable | Mögliche Werte | Beschreibung |
|---|---|---|
| enabled | 1/0 | Aktiviert/Deaktiviert das TCP-Interface |
| ip | IP-Adresse | IP-Adresse an den das TCP-Interface gebunden werden soll; normalerweise 0.0.0.0 oder die IP-Adresse des Gameservers |
| port | Port | Port an den das TCP-Interface gebunden werden soll (Standard: 1337, sollte für jede Modinstallation verschieden sein; selbe Funktionsweise wie der Port bei Gameservern) |
| logintimeout | Ganzzahl | Zeit in Sekunden, nach der sich ein Benutzter autentifiziert haben muss |
| defaulaction | chat/rcon | Sollen Eingaben, die keine Commands oder Adminbefehle sind als Chatnachricht oder RCON-Befehl gehandhabt werden (letzteres ist nicht zu empfehlen) |
| sayprefix | Text | Prefix, dass vor Chatnachrichten von TCP-Admins im Spiel gesetzt wird, wenn diese chatten |
| admingroups | Liste | Gruppen, denen die Adminbefehle (lc, kick, ...) zur Verfügung stehen |
| disallowedcommands | Liste | Commands, welche über die TCP-Schnittstelle nicht ausgeführt werden dürfen |
| maxconnections | Ganzzahl | Maximale Anzahl an Verbindungen, die gleichzeitig bestehen dürfen |
Erweiterte Infos
Für die Leute unter euch, die sich genauer mit der Schnittstelle beschäftigen wollen, hier eine Beschreibung, wie die Antwortpakete der TCP-Schnittstelle aufgebaut sind:
Byte 1: MESSAGE-TYPE (8 Byte Integer)
Byte 2: WAS_COMMAND_RESPOND (erste 7 Bytes immer 0, 8. Byte 1 o. 0)
Byte 3-X: Inhalt der Nachricht
Message-Types:
0 MT_CONSOLE 1 MT_RCONSAY 2 MT_CHAT 3 MT_PM 4 MT_INFO
Beispiel:
Anfrage: !time Antwort: 00000001 00000001 [It's 13:37] in bytes
