Wollte es schon in meinem vorigen Post erklären. Hole ich also hiermit nach.
Ich fange mal ganz von vorne an.
ET ist in der Programmiersprache C geschrieben.
Das heißt, alles was im Quell-Code stand als es compiliert wurde, kann nicht mehr verändert werden.
Damit man das Programm aber anpassen kann (egal ob Server oder Client), wurden Variablen im Quell-Code eingefügt.
Die Variablen nennt man 'CVAR' ('C' von der Programmiersprache und 'VAR' für Variable).
Jede Variable hat einen Namen, damit das Programm weis für was sie steht, und einen Wert.
Im Programm hat jede Variable einen fixen Grundwert (Default) vorgegeben.
Solange den Wert niemand neu setzt, beinhaltet die Variable diesen Grundwert.
Dann wurden noch Befehle fix im Programm eingebaut.
Der wichtigste Befehl ist '
set'.
Damit setzt man den Wert einer Variable auf einen neuen Wert.
set
das ist der Befehl
sv_hostname
das ist die Variable
ET-Server
das ist der Wert der der Variable zugewiesen wird
Die Console von ET nimmt grundsätzlich an, daß alles was geschrieben wird für den allgemeinen Chat ist.
Würdest du den oberen Satz in die Console schreiben, würde er im Chat für alle sichtbar sein, ET selbst würde nicht darauf reagieren.
Damit man in der Console auch Befehle eingeben kann, hat man den Backslash ( \ ) als Escape-Zeichen gewählt.
Zum besseren schreiben wurde als Alias noch der Slash oder Schrägstrich ( / ) eingefügt.
Sobald in der Console als erstes Zeichen das Escape-Zeichen (ein Backslash oder ein Slash) steht, weis ET, daß es sich um einen Befehl handelt und nicht um einen Chat.
In der Console würde obere Zeile so aussehen:
Toll, nun wissen wir, wie man die ganzen Variablen ändern kann, aber es ist äusserst mühselig nach jeden Server-Restart alle Variablen über die Console zu ändern.
Deshalb gibt es Configs.
Eine CFG-Datei (ConFiG) ist nichts anderes als einer oder mehrere Befehle hintereinander.
ET geht bei einer Config davon aus, daß nur Befehle drin stehen, deshalb braucht man in einer Config keine Escape-Zeichen.
Damit man in Configs Komentare einfügen kann, setzt man einfach zwei Escape-Zeichen hintereinander.
ET ignoriert leere Zeilen und alles ab zwei Escape-Zeichen bis zum Zeilenende.
Code: Alles auswählen
set dedicated 2 // 1: dedicated server for lan 2: dedicated server for internet
set
wieder der Befehl
dedicated
die Variable
2
der Wert
// 1: dedicated server for lan 2: dedicated server for internet
wird von ET ignoriert (Komentar)
Das ist zwar schön wenn man alles in der Config stehen hat, aber ET weis nichts von der Config.
Dazu muss man ET eben sagen, daß es die Config durchlesen und die Befehle darin ausführen soll (parsen).
Damit man ET anweisen kann eine Config zu parsen, gibt es den Befehl 'exec' (kommt von execute = ausführen).
Ist aber auch blöd wenn man nach jedem Start immer in die Console und 'exec server.cfg' eintippen muß.
Dafür kann man ET bereits beim Starten mehrere Befehle als Parameter mitgeben.
Damit ET erkennt, daß es sich bei diesen Parameter um Befehle handelt die es sofort ausführen soll, wird dem Befehl ein Plus ( + ) vorangestellt.
Um ET beim starten schon zu sagen, daß es die server.cfg parsen soll, startet man ET einfach so ...
... unter Windows:
... unter Linux:
Du kannst auch mehrere Befehle beim Starten ausführen.
Hier zum Beispiel meine Startzeile:
Code: Alles auswählen
etded.x86 +set com_hunkmegs 32 +set ttycon 0 +set sv_punkbuster 1 +exec server.cfg
Hier verwende ich das Programm 'etded.x86' da es sich um einen reinen Server handelt.
Nachdem du zwei Configs hast (eine server.cfg und eine noquarter.cfg), gibt es mehrere Lösungen.
1) Du könntest ET mit folgenden Parameter starten:
2) Du schreibst ans Ende der server.cfg in einer neuen Zeile:
3) Du kopierst alles aus der noquarter.cfg in die server.cfg
Es gibt noch einige andere Lösungen, die aber eher unschön sind und das selbe bewirken.
Ich persönlich verwende Lösung 2.
Wenn dein Server dann mal läuft, kannst du dir alle Befehle mit 'cmdlist' und alle Variablen mit 'cvarlist' ansehen.
Ich denke in Kürze läuft dein Server
mfG WoodSTokk