Linux Server & CD-Key Problem

Euer RtCW läuft nicht richig? - Hier bekommt ihr Hilfe!
mAc-mArl
Triple-Ass
Triple-Ass
Beiträge: 181
Registriert: Sa 23. Jun 2007, 17:29
Wohnort: Leipzig
Alter: 44

Beitrag von mAc-mArl »

Sind die IP (und Name) des Servers die selben, wie unten in deiner Signatur?
Denn den Server finde ich nicht. (weder unter Internet, Wolfenstein Alle noch als eigenen Favoriten - dort wartet das Spiel nur auf die Verbindung).

der erste server ist Wolfenstein ET
Danke und einen restlichen frohen 2. Advent.
heut ist 3 Advent :wink:
Bild
Grinsekatze
Jungspund
Jungspund
Beiträge: 11
Registriert: Mo 1. Dez 2008, 20:39
Alter: 44

Beitrag von Grinsekatze »

Echt schon wieder so weit??

Hm, aber wie finde ich denn nun den Server? Der Link in der Sig. scheint ja down zu sein. Mit der Server-Liste auf der Hauptseite komm ich irgendwie nicht klar (bzw. mir ist da nicht ersichtlich, welches nun der gesuchte Server ist) - bin ich da überhaupt richtig?

Edit:
MAn man ich Trottel.... Ok, habe nun auf den Testserver gefunden. Jedoch bekomme ich dort auch ne ungültige CD-Key Meldung. Aber auf allen (hab wieder 15 Stück aus der Liste probiert) anderen Servern (ausser noch unserem eigenen) kann ich verbinden.
Benutzeravatar
WoodSTokk
Helpdesk
Helpdesk
Beiträge: 2634
Registriert: Fr 6. Dez 2002, 03:09
Wohnort: Wien/Österreich/Europa/Erde
Alter: 53

Beitrag von WoodSTokk »

Hmmm, es ist der erste Server in meiner Sig. --> @peStable (IP: 86.59.121.243)
Den zweiten gibt es leider schon lange nicht mehr, oder er hat eine andere IP.
Wenn du in der Sig. auf den Server klickst, bekommst du eine aktuelle Server-Info (die Seite sollte ich auch mal etwas aufbohren).

Per Default installiert sich RTCW nach '/usr/local/games/wolfenstein'.
Nachdem in diesem Pfad kein User schreiben darf, legt RTCW beim Starten im Home-Verzeichnis des Users das versteckte Verzeichnis '.wolf' an.
Unter UNIX/Linux werden Verzeichnisse/Dateien nicht angezeigt wenn der Name mit einem Punkt beginnt.
Auf der Console siehst du solche Dateien/Verzeichnisse mit dem Befehl 'ls -a'.
in diesem '.wolf'-Verzeichnis liegt dann das Verzeichnis 'main' indem die Logs geschrieben werden.
RTCW arbeitet mit den Inhalten von '/home/<user>/.wolf/main' und '/usr/local/games/wolfenstein/main/' als wären alle Dateien in einem gemeinsamen Verzeichnis. Es macht also keinen Unterschied, ob deine 'server.cfg' in '/home/<user>/.wolf/main' oder in '/usr/local/games/wolfenstein/main/' liegt.
Der Vorteil an dieser Methode liegt darin, daß niemand die Standardfiles ändern kann (da nur Leserecht) und jeder User hat seine eigenen Configs in seinem Home-Verzeichnis.

Bei mir am Server sind die Verzeichnisse etwas anders, da meine Game-Server alle in einem Rootjail laufen.
Hier ist der absolute Pfad zu den Binaries '/usr/loacal/games/wolfenstein/wolfenstein'.
Der absolute Pfad zum Homeverzeichnis ist '/usr/loacal/games/wolfenstein/home/et'.
Bevor ich einen Server starte, wird das Rootjail auf '/usr/loacal/games/wolfenstein' gesetzt und der User auf 'et' gewechselt.
Diese ganze Arbeit erledigt bei mir ein Start-Stop-Script im '/etc/init.d', wodurch es wie ein normaler Daemon gesteuert werden kann.
Aber das ist eine längere Geschichte (zu der ich mal ein HowTo machen wollte aber nie dazu kam) ;)

mfG WoodSTokk
Du scheisst es nicht zu wetzen
Testserver: @peStable (95.129.206.243:27960)
Grinsekatze
Jungspund
Jungspund
Beiträge: 11
Registriert: Mo 1. Dez 2008, 20:39
Alter: 44

Beitrag von Grinsekatze »

Achso - das wusste ich z.B. noch nicht.

Also bei dem Server sehe ich unter /Home nur 3 Verzeichnisse (user): confixx, benutzer und benutzer1. Ich (und der rtcw Server) laufen aber unter webbenutzer5. Dieses Verzeichnis gibt es auch nicht unter Confixx (dort gibt es nur webbenutzer5p0 und das hat keine Rechte vergeben).
Das Spiel ist z.B. unter /srv/www/dedicated/rtcw installiert.
Wo finde ich denn nun die Logfiles? Oder kann diese dann nur der root sehen?

Den Test-Server hab ich dann ja auch gefunden (ich gebe zu es hat etwas gedauert. Irgendwie hab ich mich verlesen und dachte das sei der TS-Server - bis ich mir mal den Port angeguckt habe ;) ).
Aber wie schon erwähnt: Ich kann nicht verbinden. Denn dann bekomme ich immer eine, nun schon leidlich bekannte Fehlermeldung: Ungültiger CD-Key. Ich hab ja mal gehört, dass man die Server irgendwie cracken kann, damit sie keine Keys abfragen, doch es können doch nicht alle (zumindest von mir getesteten) Server im Netz gecrackte sein Ich habe nun wohl bei 20 - 30 versucht drauf zu kommen und es klappte immer. Nur bei deinem Testserver und unserem RTCW Server klappts nicht.
Benutzeravatar
WoodSTokk
Helpdesk
Helpdesk
Beiträge: 2634
Registriert: Fr 6. Dez 2002, 03:09
Wohnort: Wien/Österreich/Europa/Erde
Alter: 53

Beitrag von WoodSTokk »

Setzt mal das logging auf diese Werte, damit loggt meiner auch:

Code: Alles auswählen

// Logging
set g_log "rtcwserver.log"
set g_logsync 1
set logfile 2
Mit einen externen Serverbrowser (Win: HLSW / Linux: XQF) kannst du dich über Rcon mit den Server unterhalten.
Gib da mal folgendes ein:

Code: Alles auswählen

cvarlist fs_*
Dann solltest du eine Liste bekommen die alle CVAR's zeigt die mit 'fs_' anfangen.
Die CVAR 'fs_homepath' enthält das Home-Verzeichnis mit dem der Server aktuell arbeitet.
Bei mir ist das '/home/et/.wolf' (was auch stimmt wenn man das Rootjail berücksichtigt).

Warum mein Server nicht in der Masterliste (wolfmaster.idsoftware.com) ist, weis ich leider nicht. Heartbeats sendet er auf alle Fälle.
Auf Monster (monster.idsoftware.com) ist er eingetragen, weis der Geier warum hier schon und am anderen nicht.

Bin gerade dabei das Protocol bezüglich des Keys zu untersuchen.
Wie es aussieht fragt der GameServer garnicht nach dem Key, sondern der Client unterhält sich mit dem Master darüber.
Dafür kennt der Client die 2 Befehle 'getKeyAuthorize' und 'getIpAuthorize'.
Der Master kennt nur den Befehl 'ipAuthorize'.
Wie die allerdings zusammenspielen weis ich (noch) nicht.
Deshalb find ich es schon komisch, daß es bei einigen Servern geht und bei anderen nicht.

~~~ EDIT ~~~

Der Multiplayerclient von RTCW sendet an den Masterserver (wolf.idsoftware.com) auf Port 27952 den Befehl 'getKeyAuthorize' mit seinem CD-Key.
Der Masterserver überprüft den Key und wenn er gültig ist speichert er die IP von wo der Befehl kam.
Eine Antwort gibt der Masterserver darauf nicht! (logisch, sonst könnte jeder eine Brute-Force-Attack auf den Master starten um gültige CD-Keys zu sammeln)

Wenn du dann auf einen Server connectest, sendet der Server den Befehl 'getIpAuthorize' zusammen mit der Client-IP an den Master (Port: 27952).
Der Master schaut ob die IP in seiner Liste steht und sendet die Antwort an den Server mit 'ipAuthorize'.

Die Antwort lautet entweder 'KEY_IS_GOOD' oder 'INVALID_CDKEY', jenachdem.
Je nach Antwort, lässt dich der Server dann spielen oder nicht.

Bei mir habe ich die Ports 27950-27970 freigegeben und sah kurz darauf sogar einen Spieler am Server.

Nachdem die Key-Kontrolle über ein anderes Port läuft, vermute ich mal, daß bei dir in der Firewall das Port 27952 nicht frei ist, wodurch der ganze Key-Mechanismus nicht funktioniert.

mfG WoodSTokk
Du scheisst es nicht zu wetzen
Testserver: @peStable (95.129.206.243:27960)
Grinsekatze
Jungspund
Jungspund
Beiträge: 11
Registriert: Mo 1. Dez 2008, 20:39
Alter: 44

Beitrag von Grinsekatze »

Das mit dem Logging probier ich nachher mal aus.

Ich habe gelesen, dass es drei Arten der Keybestätigung gibt: is_good, Invalid_key und banned_key. Die erste bedarf ja keiner Beschreibung. Die zweite Möglichkeit soll angeblich auf einen Fehler in der Authentifizierung hinweisen und die dritte Möglichkeit gibt klar zurück, dass es sich bei diesem Key um einen verbotenen (z.B. weil mehrfach vorhandenen) Key handelt.

Den Port der Firewall werd ich mal prüfen. Leider kann ich das nicht direkt machn, da ich nicht der root bin. Dieser sagte mir aber (auf die Frage, ob der Gameport blockiert sei), das alles in dieser Region offen sei. Ich harke da aber noch mal nach.

Ist denn dein Testserver zzt. so eingestellt? Dann prüf ich das mal eben da, denn der legt ja das gleiche Verhalten wie unser Server an den Tag?

Edit:
Hm, habs eben an deinem Testserver versucht, doch da bin ich immernoch ungültig.
Mal zu den Ports: Einige Leute kommen ja auf den Server (sind aus unserer Community wohl 4 oder 5). Das spricht ja für offene Ports.

Edit, Edit:
MAl was anderes nebenbei: Ich schreibe ja immer alles (auch Zahlen) in Anführungsstrichen. Ist das egal, oder sollte man da auf was achten (denn du schreibst ja nicht alles in Anführungsstrichen).
Beispiel:
Du:

Code: Alles auswählen

seta g_logsync 1
Ich:

Code: Alles auswählen

seta g_logsync "1"
Auch würde mich mal interessieren, ob die Einträge Casesensitiv oder nicht sind (bei den Dateinamen sicher, aber wie sieht es z.B. mit seta sv_strictAuth / seta sv_strictauth aus)?
Benutzeravatar
WoodSTokk
Helpdesk
Helpdesk
Beiträge: 2634
Registriert: Fr 6. Dez 2002, 03:09
Wohnort: Wien/Österreich/Europa/Erde
Alter: 53

Beitrag von WoodSTokk »

Die CVAR's sind case-insensitiv, also seta 'sv_strictAuth' und 'seta sv_strictauth' bedeutet das selbe.
Solange die Werte kein Whitespace (Abstand oder Tabstop) enthalten, können sie auch ohne Anführung geschrieben werden.
Ich habe mir angewöhnt, Strings immer mit Anführungszeichen und Zahlen ohne, da die sowieso keinen Abstand enthalten können.

Mein Test-Server läuft aktuell mit Version 1.0.b2 + GOTY-Mappack.
Wenn du das Mappack nicht hast, werde ich es auf dem Test-Server auch entfernen, damit es nicht an den Maps liegt.
War eben selber etwa 30min auf meinen Server ohne Probleme, allerdings vom Local-Network aus (also 192.168.x.y).
Auffällig ist, daß man im lokalen Netz keinen Key braucht (habs ohne Key-File getestet).
Wenn ich dazu komme teste ich noch von zuhause aus (also übers i-net.
In der Firewall werde ich mal die Komunikation mit dem Master mitschneiden, vieleicht ist das aufschlussreicher.

Hoffe ich komm morgen dazu.

mfG WoodSTokk
Du scheisst es nicht zu wetzen
Testserver: @peStable (95.129.206.243:27960)
Benutzeravatar
WoodSTokk
Helpdesk
Helpdesk
Beiträge: 2634
Registriert: Fr 6. Dez 2002, 03:09
Wohnort: Wien/Österreich/Europa/Erde
Alter: 53

Beitrag von WoodSTokk »

So, nun habe ich zuhause auch eine ultimative RTCW-Installation.
In den Firewalls logge ich alles mit, was mit dem Netz 192.246.0.0/16 zutun hat.

Ergebnis:
RTCW-Client sendet an 192.246.40.70 ein Paket an Port 27951 (MOTD = 'Message of the Day') und eines an Port 27952 (KeyAuth).
Von beiden Ports bekomme ich keine Antwort.
Beim KeyAuth ist das normal, aber warum bei MOTD nichts retour kommt, weis ich nicht.

Der Server sendet alle 5min einen Heartbeat an den Master (Port: 27950).
Sobald ich connecte, sendet er ein Paket an das Port 27952 und erhält auch sofort Antwort von dort.

Ich war jetzt eine halbe Stunde auf meinem Server, ohne Probleme.

Was mich wundert ist, daß kein einziger Server mit Version 1.0.b2 am Master gelistet wird.
Vieleicht nimmt der Master keine Server mehr mit dieser Version auf.
Wenn ich nämlich einen zweiten Master (monster.idsoftware.com) eintrage, dann bekomme ich regelmäßig ein 'getStatus' von diesem. Der richtige Master (wolfmaster.idsoftware.com) tut das nicht und ohne dieser Statusabfrage wird man auch nicht in die Liste aufgenommen.

Also, wichtig ist das der Client und der Server von ihrem eingestellten Port (Default: 27960) mit den Ports 27950-27952 des Master reden dürfen.
Kontrolliere mal die Firewalleinstellungen oder log einfach mit ob die Pakete wirklich gesendet werden und ob am Server auch Antwort kommt.

~~~ EDIT ~~~

Mein Server wird auf wolfmaster.idsoftware.com gelistet.
Warum, weis ich allerdings nicht, da mein Server immer noch keine Status-Abfrage vom Master bekommt.
Habe vor 2 Tagen schon eine Nachricht an Activision gesendet bezüglich dem Verhalten des Masterservers.

mfG WoodSTokk
Du scheisst es nicht zu wetzen
Testserver: @peStable (95.129.206.243:27960)
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 mal nachfragen ob dein RTCW schon geht.
Hast du, seit dem mein Server am Master gelistet wird, es wieder mal auf meinem probiert?
Im Zuge dieses Treads habe ich auch gleich meine Masterabfrage überarbeitet.
Unter http://www.netplot.at/apes/master.php kannst du jeden Master nach jedem Spiel befragen.
Damit siehst du gleich ob dein Server am Master gelistet wird oder nicht.
Hinweis: etmaster nach Protocol 84 befragen dauert sehr lange, da es um die 3000 Server gibt.

mfG WoodSTokk
Du scheisst es nicht zu wetzen
Testserver: @peStable (95.129.206.243:27960)
Antworten