XP - Save für Lanserver

Alles rund um das scripten und Server aufsetzen
Desmond
Grünschnabel
Grünschnabel
Beiträge: 7
Registriert: Di 2. Dez 2008, 18:19
Alter: 42

XP - Save für Lanserver

Beitrag von Desmond »

Moin

Ein Freund und ich zocken regelmäßig ET über nen Lanserver, d.h. ich connecte mich über seine IP. Leider werden dabei natürlich net die XP-Stände gespeichert. Beide Versionen haben wir mit der 2.60 version gepatched ebenso mit der noquarter 1.2 gefixed. WAS muss denn konkret WIE gemacht werden, um das Abspeichern der XP's mit einzubauen?
Sry, bin ein derber Noob, was das betrifft...eine genaue Erklärung wäre sehr hilfreich

MfG, THX
|bTc|ClawFire
Haudegen
Haudegen
Beiträge: 575
Registriert: Mi 25. Jun 2008, 20:31
Alter: 60
Kontaktdaten:

Beitrag von |bTc|ClawFire »

hier sind die einstellungen
http://shitstorm.org/noquarter/wiki/ind ... e=XP_CVARs

g_XPSave 15
g_XPSaveFile xpsave.cfg
g_XPSaveDirectory /pfad/zum/server/xpsave
g_XPSaveMaxAge (zeit in sekunden)
g_XPDecay 0
g_XPDecayFloor 0
g_XPDecayRate 0
g_maxXP -1
Bild
sn4ke hat geschrieben:also ich nehme hier mal kurz ... in Schutz und behaupte mal, das er weitaus mehr Ahnung von der technischen Seite des Spieles hat als alle anderen hier...
Desmond
Grünschnabel
Grünschnabel
Beiträge: 7
Registriert: Di 2. Dez 2008, 18:19
Alter: 42

Beitrag von Desmond »

THX a lot, aber ich raff davon gar nix... :shock:
|bTc|ClawFire
Haudegen
Haudegen
Beiträge: 575
Registriert: Mi 25. Jun 2008, 20:31
Alter: 60
Kontaktdaten:

Beitrag von |bTc|ClawFire »

g_XPSave 15 (ob beim disconnecten, beim mapstart oder sonste was die xp gespeichert werden sollen)
g_XPSaveFile xpsave.cfg (in welcher datei die xp gespeichert werden sollen (nicht mehr wirklich nötig))
g_XPSaveDirectory /pfad/zum/server/xpsave (in welchem vezeichniss die xp gespeichert werden sollen
g_XPSaveMaxAge "zeit in sekunden" (wie lange, in sekunden angegeben, die xp gespeichert werden sollen)
g_XPDecay 0 (ob die xp langsam verfallen sollen, stück für stück, und wie)
g_XPDecayFloor 0 (minimum grenze für xp verfall)
g_XPDecayRate 0 (in welcher geschwindigkeit die xp verfallen sollen)
g_maxXP -1 (maximal erreichbare xp, danach ein xpreset)
Bild
sn4ke hat geschrieben:also ich nehme hier mal kurz ... in Schutz und behaupte mal, das er weitaus mehr Ahnung von der technischen Seite des Spieles hat als alle anderen hier...
Desmond
Grünschnabel
Grünschnabel
Beiträge: 7
Registriert: Di 2. Dez 2008, 18:19
Alter: 42

Beitrag von Desmond »

Was sind diese ganzen "g_XPSave" usw.? Sind das Dateien, die ich selbst erstellen muss in meinem ETmain Ordner oder im Hauptverzeichnis? Benötige ich dafür ein anderes Programm? Hier steht ja nur WAS es bewirkt im System, aber nicht wie ich das richtig da hinein bekomme. Könnte mir jemand bitte sagen WOHIN ich Welche Datei schreiben soll?

Wär ich schön wenn mir das jemad versträndlich näher bringen könnte!
Danke!
mAc-mArl
Triple-Ass
Triple-Ass
Beiträge: 181
Registriert: Sa 23. Jun 2007, 17:29
Wohnort: Leipzig
Alter: 44

Beitrag von mAc-mArl »

mir sehen die aus wie setting für ne Config

kenne mich jetzt zwar nicht aus mit Server Configs
aber du musst bestimmt ne Config haben für deinen Server und da müssen die rein.
Bild
Phishermans Phriend
Stürmer
Stürmer
Beiträge: 59
Registriert: Mi 27. Aug 2008, 12:55
Alter: 31
Kontaktdaten:

Beitrag von Phishermans Phriend »

Desmond hat geschrieben:Wär ich schön wenn mir das jemad versträndlich näher bringen könnte!
Danke!
OK, ich versuch es mal, ClawFire hat manchmal ein bisschen ne ruppige Art... :roll:
Wie mAc-mArl schon richtig gesagt hat, sind das Configs, und zwar für die noquarter.cfg, die du im "noquarter"-Ordner deines ET-Ordners findest, wenn du NQ 1.20 benutzt. Diese und überhaupt alle .cfgs kannst du ganz normal mit dem Editor öffnen.

In dieser cfg kannst du einstellen, wie sich NQ verhalten soll. Und es gibt da ein paar wirklich gute Punkte, es lohnt sich auf jeden Fall, sich mithilfe der "noquarter-commented.cfg" ein bisschen einzulesen. :)

Naja, also du drückst bei geöffneter "noquarter.cfg" [Strg]+[F] und tippst "g_XPSave" ein. -> Enter

Dann kannst du mithilfe der "noquarter-commented.cfg", der Beschreibung von ClawFire und ein paar Englischkenntnissen das Verhalten vom XP-Save einstellen.

Dazu veränderst du die Werte der einzelnen g_blablas. Was für Werte es gibt und was sie jeweils bedeuten sagt dir die "noquarter-commented.cfg".

Ich hoffe, das war genug um sich ein bisschen damit zu beschäftigen, wenn noch was unklar ist, frag einfach.
Ich war mal genauso ein Anfänger wie du und weiß deshalb, wie schwer es manchmal zu kapieren ist.
Ich werd mir Mühe geben alles gut zu erklären. :)
Desmond
Grünschnabel
Grünschnabel
Beiträge: 7
Registriert: Di 2. Dez 2008, 18:19
Alter: 42

Beitrag von Desmond »

Du hast das wirklich sehr verständlich erklärt!!! :D Danke!

Ich probier mich da gerade etwas aus. Ein kleines Problem habe ich da allerdings noch: Ich will die Omni-bot aktivieren im No Quarter.cfg. Ich weiß auch, dass ich set omnibot_enable "1" set omnibot_path "absolute-path-to-directory-where-omnibot_et.so-is-installed" einstellen muss. Das habe ich getan. Der Befehl um die Bots im Spiel zu aktivieren ist bei Omnibot 0.65 immer "/bot addbot" gewesen. Nun soll ich "/rcon <rconpass> bot addbot" eingeben, um die bots zu aktivieren. Dann wird mir allerdings immer gesagt, "no rconpassword set on server".

Kannst du mir das vielleicht auch noch sagen, wie ich die bot unter No Quarter aktiveren kann?

Danke im Vorraus für die Mühe! :D
|bTc|ClawFire
Haudegen
Haudegen
Beiträge: 575
Registriert: Mi 25. Jun 2008, 20:31
Alter: 60
Kontaktdaten:

Beitrag von |bTc|ClawFire »

ich bin ruppig??? :harhar:
wann denn mal, hatte doch nur wie werte hier hin geschrieben, mehr nicht :mrgreen:
Bild
sn4ke hat geschrieben:also ich nehme hier mal kurz ... in Schutz und behaupte mal, das er weitaus mehr Ahnung von der technischen Seite des Spieles hat als alle anderen hier...
Benutzeravatar
WoodSTokk
Helpdesk
Helpdesk
Beiträge: 2634
Registriert: Fr 6. Dez 2002, 03:09
Wohnort: Wien/Österreich/Europa/Erde
Alter: 53

Beitrag von WoodSTokk »

Hi Desmond

Die Abkürzung 'RCON' steht für Remote-CONsole.

Grundsätzlich verbindest du dich mit deinem ET-Client auf deinen ET-Server.
Beide haben eine Console, ET-Client und ET-Server.
Wenn du die Console öffnest und etwas eingibst, dann gilt das grundsätzlich auf dem ET-Client.
Also würde der Befehl '/bot addbot' an den Client gehen, nicht an den Server.
Damit man einen Befehl an den Server schicken kann, gibt es den Befehl 'rcon'.
Sobald eine Zeile mit '/rcon' beginnt, wird die Zeile nicht vom Client ausgewertet, sondern dem Server geschickt und der wertet es aus.
Damit nicht jeder irgendwelche Befehle an den Server schicken kann, sollte der Server ein RCON-Passwort haben.
Dieses Passwort stellst du in der 'server.cfg' mit der CVAR 'g_password' ein.

Code: Alles auswählen

set g_password "geheim"
Sobald der Server ein RCON-Passwort hat, kann man ihm Befehle schicken.

Code: Alles auswählen

/rcon geheim bot addbot
/
Das signalisiert dem Client, daß ein Befehl kommt

rcon
Dieser Befehl sagt dem Client, daß der Befehl an den Server gerichtet ist

geheim
Das ist das RCON-Passwort, das am Server eingestellt ist

bot addbot
Das ist der Befehl den der Server ausführen soll

Ich hoffe ich konnte dir die Console damit etwas näher erklären.

mfG WoodSTokk
Du scheisst es nicht zu wetzen
Testserver: @peStable (95.129.206.243:27960)
Desmond
Grünschnabel
Grünschnabel
Beiträge: 7
Registriert: Di 2. Dez 2008, 18:19
Alter: 42

Beitrag von Desmond »

Ok, super erklärt! Ich raff das auch langsam alles.
Mein Problem ist nur, dass ich zwar das rconpasswort in der Server.cfg eingetragen habe (zum Test habe ich auch den Server- Hostnamen geändert), doch er sagt mir immernoch "no rconpassword set on server". Auch der als Test fungierende Server-Hostname wurde nicht übernommen. Ich habe das Gefühl, dass ich alles in der Server.cfg ändern kann, aber nie habe ich eine Wirkung davon mitbekommen. Das Gleiche spielt sich bei der noquarter.cfg ab; ich habe die Omnibots mit "1" enabled und den Pfad angegeben, doch sobald ich eine Map starte, steht in der Console :OMNIBOTS ARE DISABLED WITH "0". Ausserdem steht, sobald ich eine Campaign über NOquarter beginne immer in blauer Schrift alle 20sec. auf dem Bildschirm : WARNING: OLD BINARY PK3 FOUND ON SERVER!

Meine Fragen sind nun, um Klarheit über die genaue funktion der einzelnen cfg-Dateien zu bekommen:

1. Die Server.cfg bleibt im ETmain-Verzeichnis?

2. Soll ich die noquarter.cfg in die Server.cfg kopieren - oder vielleicht umgekehrt?



Erstmal DANKE, dass ihr euch hier die Mühe macht meinem debilen Verstand etwas unter die Arme zu greifen!
|bTc|ClawFire
Haudegen
Haudegen
Beiträge: 575
Registriert: Mi 25. Jun 2008, 20:31
Alter: 60
Kontaktdaten:

Beitrag von |bTc|ClawFire »

Bild
sn4ke hat geschrieben:also ich nehme hier mal kurz ... in Schutz und behaupte mal, das er weitaus mehr Ahnung von der technischen Seite des Spieles hat als alle anderen hier...
Desmond
Grünschnabel
Grünschnabel
Beiträge: 7
Registriert: Di 2. Dez 2008, 18:19
Alter: 42

Beitrag von Desmond »

Wenn ich das richtig sehe, dann verweist dein Link zu einer Serverkonfiguration. Brauch ich die, wenn ich ausschließlich nur über Direct IP spiele, also nur Hoste und keinen Server mit fixer IP möchte?
Benutzeravatar
WoodSTokk
Helpdesk
Helpdesk
Beiträge: 2634
Registriert: Fr 6. Dez 2002, 03:09
Wohnort: Wien/Österreich/Europa/Erde
Alter: 53

Beitrag von WoodSTokk »

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.

Code: Alles auswählen

set sv_hostname "ET-Server"
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:

Code: Alles auswählen

\set sv_hostname "ET-Server"
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:

Code: Alles auswählen

ET.exe +exec server.cfg
... unter Linux:

Code: Alles auswählen

et.x86 +exec server.cfg
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:

Code: Alles auswählen

etded.x86 +exec server.cfg +exec noquarter.cfg
2) Du schreibst ans Ende der server.cfg in einer neuen Zeile:

Code: Alles auswählen

exec noquarter.cfg
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
Du scheisst es nicht zu wetzen
Testserver: @peStable (95.129.206.243:27960)
|bTc|ClawFire
Haudegen
Haudegen
Beiträge: 575
Registriert: Mi 25. Jun 2008, 20:31
Alter: 60
Kontaktdaten:

Beitrag von |bTc|ClawFire »

Desmond hat geschrieben:Wenn ich das richtig sehe, dann verweist dein Link zu einer Serverkonfiguration. Brauch ich die, wenn ich ausschließlich nur über Direct IP spiele, also nur Hoste und keinen Server mit fixer IP möchte?
das ist ein auf server vorgefertigte version
egal ob du nun ne feste oder eine dynamische ip hast
das einzigste was du machen musst ist nur deine server.cfg schreiben mit allen variablen drin die der mod benutzt den du benutzen möchtest.

es sind alle 4 wichtigen mods corinstalliert, und 3 davon auch schon mit omnibot vorkonfiguriert
Bild
sn4ke hat geschrieben:also ich nehme hier mal kurz ... in Schutz und behaupte mal, das er weitaus mehr Ahnung von der technischen Seite des Spieles hat als alle anderen hier...
Antworten