Noch nie server erstellt - wie geht das?

Alles rund um das scripten und Server aufsetzen
judscheidscha
Mitglied
Mitglied
Beiträge: 25
Registriert: Mo 18. Dez 2006, 17:10

Beitrag von judscheidscha »

anscheinend will mir keiner helfen :(:(:(:(:(:(

Naja es gibt noch andere foren :D

Aber thx an Botzi und Woodstokk
Benutzeravatar
WoodSTokk
Helpdesk
Helpdesk
Beiträge: 2634
Registriert: Fr 6. Dez 2002, 03:09
Wohnort: Wien/Österreich/Europa/Erde
Alter: 53

Beitrag von WoodSTokk »

Zum Verständnis von Dedicated Yes/No:

'Dedicated Yes' bedeutet daß nur ein ET-Server gestartet wird der übers Netzwerk erreichbar ist.
Grafik, Sound usw. werden nicht gestartet.
Deshalb siehst du nur eine Console in der du siehst was der Server gerade macht.
Unten in der Console hast du ein Eingabefeld wo du den Server Befehle schicken kannst.
Solche Server nennt man 'Dedicated-Server'.

'Dedicated No' bedeutet daß ein ET-Server gestartet wird der übers Netzwerk erreichbar ist und zusätzlich wird Grafik, Sound usw. gestartet damit du selber auch spielen kannst. Der Server bindet sich auf alle Fälle auf die IP 127.0.0.1 und dein Client connectet automatisch auf die IP 127.0.0.1.
Die IP 127.0.0.1 hat jeder Rechner und ist der Rechner selber. Es ist eine Rückschleife im Netzwerk und heisst deshalb auch 'Loopback'. Der Name zu dieser IP ist 'localhost'.
Solche Server nennt man 'Listen-Server'.

Wenn du einen Server startest (egal ob dedicated oder listen), schaut er in der Config ob du ihm eine IP angegeben hast auf der er sich binden soll.
Nachdem du keine angegeben hast, bindet er sich auf alle IP's die er auf deinem Rechner findet.
Die IP 127.0.0.1 (localhost) ist dein eigener Rechner.
Die zweite IP müsste dann die offizielle IP sein die aus dem i-net erreichbar ist (ausser du hast einen Router).
Wenn du in der Config eine IP angegeben hast, verwendet er nur diese.
Auch wenn der Rechner 10 IP's hat, bindet er sich nur auf diese eine.

Zusätzlich schaut er auch ob du ein Port angegeben hast.
Nachdem du vermutlich keines angegeben hast, versucht er sein Default-Port zu bekommen und das ist Port 27960.
Sollte das bereits von einer anderen Anwendung belegt sein versucht er Port 27961 und wenn das auch fehlschlägt versucht er zuletzt noch Port 27962.
Sollten alle 3 Ports belegt sein, gibt ET auf und beendet sich.
Diese Logik ist eine Sicherheitsschaltung damit auf einem Rechner nicht mehr als 3 ET-Server laufen.
Man kann auf einem Rechner nur dann mehr als 3 ET-Server betreiben wenn man jedem ein Port vorgibt.

Ob dein Freund deinen Server findet oder nicht hängt davon ab wie er ihn sucht.
Ein Dedicated-Server sendet nach dem erfolgreichen starten einen Heartbeat an den Master-Server.
Dieser Heartbeat wird zu bestimmten Ereignissen wiederholt damit der Master-Server weis, daß dieser Server nocht lebt.
Ob ein Listen-Server ebenfalls einen Heartbeat sendet weis ich leider nicht.
Und wenn ich bei dedicated server auf no gehe kann man dann vom i-net aus connecten?
Ja, auf einen Listen-Server kann man connecten.
Am besten ist, du gibts deinem Freund deine aktuelle IP und er klickt im ET unter der Serverliste auf 'connect to IP' und schreibt diese rein.
ich lass das ganze grad über jaymod laufen aber wenn ich im jaymod-verzeichnis gugge ist dort keine server.cfg
Wenn der Server eine 'server.cfg' laden soll, sucht er diese Datei zuerst im 'jaymod'-Verzeichnis.
Wenn dort diese Datei existiert wird sie ausgeführt.
Andernfalls sucht ET im 'etmain'-Verzeichnis und führt diese aus wenn es sie dort gibt.

viel Glück beim Server erstellen

mfG WoodSTokk

PS: sorry daß ich nicht so schnell antworte ... hab viel zutun.
Du scheisst es nicht zu wetzen
Testserver: @peStable (95.129.206.243:27960)
judscheidscha
Mitglied
Mitglied
Beiträge: 25
Registriert: Mo 18. Dez 2006, 17:10

Beitrag von judscheidscha »

Jaja is schon gut^^
(ausser du hast einen Router).
und wenn ich ein router habe?
Zusätzlich schaut er auch ob du ein Port angegeben hast.
Ports nicht.. aber ich hab bei meinem router für meine ip alle ports geöffnet. also praktisch die firewall für mein PC deaktiviert.(bei mir unter sicherheit>Firewall>DMZ)

und egal welche ip ich wo einsetze die heißt immer localhost!wo soll ich denn die ip eingeben?
Benutzeravatar
WoodSTokk
Helpdesk
Helpdesk
Beiträge: 2634
Registriert: Fr 6. Dez 2002, 03:09
Wohnort: Wien/Österreich/Europa/Erde
Alter: 53

Beitrag von WoodSTokk »

und wenn ich ein router habe?
Wenn du einen Router hast, hat dein Rechner keine öffentliche IP, sondern eine die für private Zwecke freigegeben ist und im Internet nicht verwendet werden darf.

IP-Ranges für private Zwecke sind:
Klasse A: 10.x.x.x
Klasse B: 172.16.x.x bis 172.31.x.x
Klasse C: 192.168.x.x

Die öffentliche IP die du vom Provider bei der Einwahl bekommst, erhält dann der Router.
Hinter dem Router befindet sich dann ein privates Netz mit privaten IP's.
Wenn jetzt eine Anforderung vom Internet kommt, weis der Router nicht welchen Rechner er es weiterleiten soll und dropt (verwirft) diese Pakete.
Einem Router musst du also sagen welche Anforderungen er auf welchen Rechner weiterreichen soll.
Diese Einstellung nennt man in der Netzwerktechnik 'Port-Forwarding'.
In der Router-Config findest du diese Einstellung entweder unter diesem Begriff, oder unter 'virtueller Server'.

Angenommen der Router hat intern die IP 192.168.1.1 und dein Rechner hat die IP 192.168.1.2.
Für ET würde die Forward-Regel dann so aussehen:

UDP 27960 --> 192.168.1.2

Das sagt dem Router daß er alles was an UDP-Port 27960 aus dem Internet herein kommt, an dem Rechner mit der IP 192.168.1.2 UDP 27960 weiterreichen soll.

Deinem Freund musst du die offizielle IP sagen die der Router vom Provider bekommen hat.
wo soll ich denn die ip eingeben?
In der 'server.cfg' lauten die ersten 3 Zeilen:

Code: Alles auswählen

set dedicated "0"				// 0: listen server 1: dedicated server for lan 2: dedicated server for internet
// set net_ip ""				// set to override the default IP ET uses
// set net_port "27960"				// set to override the default port ET uses
Mit 'set net_ip' kannst du dem Server die IP angeben auf die er sich binden soll.
Mit 'set net_port' stellst du das Port ein welches der Server verwenden soll (Default: 27960).
Wenn du hier etwas einstellst, musst du die 2 Schrägstriche am Beginn der Zeile löschen, sonst sind es nur Komentare und werden nicht berücksichtigt.

mfG WoodSTokk
Du scheisst es nicht zu wetzen
Testserver: @peStable (95.129.206.243:27960)
judscheidscha
Mitglied
Mitglied
Beiträge: 25
Registriert: Mo 18. Dez 2006, 17:10

Beitrag von judscheidscha »

und mit dem router hab ich bei mir die internet ip (www.wieistmeineip.de) und nicht meine netzwerk ip in die server.cfg geschrieben ! geht das auch?

und bei den ports hab ich für meine ip die DMZ eingeschaltet, d.h. das die firewall vom router für meine ip deaktiviert ist . Also wofür brauch ich ports???
Benutzeravatar
WoodSTokk
Helpdesk
Helpdesk
Beiträge: 2634
Registriert: Fr 6. Dez 2002, 03:09
Wohnort: Wien/Österreich/Europa/Erde
Alter: 53

Beitrag von WoodSTokk »

und mit dem router hab ich bei mir die internet ip (www.wieistmeineip.de) und nicht meine netzwerk ip in die server.cfg geschrieben ! geht das auch?
Über diese Seite weist du mal deine offizielle IP auf die dein Freund conecten muss.
und bei den ports hab ich für meine ip die DMZ eingeschaltet, d.h. das die firewall vom router für meine ip deaktiviert ist . Also wofür brauch ich ports???
Auf einem Host mit einer IP können mehrere Dienste (HTTP, SMTP, POP3, FTP, etc...) laufen. Damit der Host weis welchen Dienst jemand nutzen will, bindet sich jeder Dienst an ein Port.
Beim TCP-Protocol gibt es 65535 Ports.
Die Ports 1-1023 nennt man privilegiert. Jedes privilegierte Port ist einem Dienst zugeteilt.

HTTP - Port 80
SMTP - Port 25
POP3 - Port 110
FTP - Port 20 und 21

Die Port über 1024 nennt man unprivilegiert. Diese Ports werden von Hosts verwendet die einen Dienst in Anspruch nehmen wollen.
Wenn du deinen Mail-Client öffnest und deine Mail vom POP3-Server abrufst, öffnet dein Rechner eine Verbindung von deinem Port 1025 (oder höher) zum POP3-Server an Port 110.
Der Host auf dem der POP3-Server läuft, weis anhand des Ports 110, daß du den POP3-Server kontaktieren willst.

Beim UDP-Protocol gibt es ebenfalls 65535 Ports. Auch bei diesem Protocol nennt man die Ports 1 - 1023 privilegiert und die Ports über 1024 unprivilegiert.
Die Einteilung der Ports ist eine Richtlinie und muss nicht unbedingt eingehalten werden.
Es können Dienste auch an Ports über 1024 zur Verfügung gestellt werden.
ET und RTCW nutzen das UDP-Protocol und binden sich per Default an Port 27960.

Wenn am Router ein Paket aus dem Internet ankommt, versucht er rauszufinden an welchen Rechner er es im privaten Netz weiterleiten soll. Dafür hat er eine NAT (Network Allocation Table).
Die NAT ist eine dynamische Tabelle in der der Router Verbindungen einträgt.

Zurück zum POP3-Beispiel:
Wenn du deine Mails über POP3 abrufst, öffnet dein Rechner das TCP-Port 1025 (oder höher).
Anhand seiner IP und Netmask erkennt er, daß er keine direkte Verbindung zum POP3-Server hat.
Also schickt er seine Anfrage ans Gateway was in deinem Fall der Router ist.
Der Router schreibt nun in die NAT, daß der Rechner mit der IP 192.168.1.2 und TCP-Port 1025 eine Verbindung mit <IP> an TCP-Port 110 haben will.
Danach ändert er die Absendeadresse von 192.168.1.2 auf die offizielle IP die er vom Provider hat und schickt das Paket weiter.
Wenn jetzt der POP3-Server antwortet, kommen Pakete von <IP> und TCP-Port 110 an den Router ans TCP-Port 1025.
Der Router durchsucht die NAT und findet den passenden Eintrag mit <IP> TCP-Port 110 und TCP-Port 1025.
Diesmal ändert er die Zieladresse des Paketes von seiner offiziellen IP zu 192.168.1.2 (die er in der Tabelle hat) und schickt das Paket im internen Netz weiter.

Ein solches Netzwerk nennt man geNATet und den Vorgang des Adressenändern nennt man masquerading (maskieren).

Die Sache hat aber einen Nachteil. In die NAT können nur Daten einfliesen wenn die Verbindung vom privaten internen Netz aufgebaut wird.
Kommt eine Verbindung aus dem Internet herein, findet der Router keinen Eintrag in der NAT und läst diese Pakete einfach fallen.
Wenn dein Freund auf deinen ET-Server connecten will, sieht der Router nur ein hereinkommendes Paket von <irgendeiner> UDP-Port <h> an seine offizielle IP UDP-Port 27960.
Da der Router keinen passenden Eintrag findet, kommt die Verbindung nicht zustande.

Für solche Fälle gibt es Port-Forwarding (virtueller Server).
Hier stellst du ein, daß alle UDP-Pakete die an Port 27960 aus dem Internet hereinkommen, an 192.168.1.2 weitergeleitet werden sollen.
Diese Einstellung bewirkt einen fixen Eintrag in der NAT und der Router weis ab nun was er mit solchen Paketen tun soll.

PS: DMZ bedeutet De-Militarisierte Zone
So bezeichnet man einen Bereich im Netzwerk in dem Verbindungen von aussen erlaubt sind.
Hinter der DMZ kommt dann eine Sichere Zone in die von aussen keine Verbindung mehr erlaubt ist (nur von innen nach aussen, nicht umgekert).

mfG WoodSTokk
Zuletzt geändert von WoodSTokk am Mo 25. Dez 2006, 03:24, insgesamt 1-mal geändert.
Du scheisst es nicht zu wetzen
Testserver: @peStable (95.129.206.243:27960)
judscheidscha
Mitglied
Mitglied
Beiträge: 25
Registriert: Mo 18. Dez 2006, 17:10

Beitrag von judscheidscha »

oh gott^^... was es alles gibt . neinneinnein^^

wieviel spieler können denn dann auf so einem server spielen?(DSL 2000)
Benutzeravatar
WoodSTokk
Helpdesk
Helpdesk
Beiträge: 2634
Registriert: Fr 6. Dez 2002, 03:09
Wohnort: Wien/Österreich/Europa/Erde
Alter: 53

Beitrag von WoodSTokk »

Ich kenne das Protukt DSL 2000 nicht aber ich nehme an, daß es sich bei der Zahl 2000 um den Downstream handelt. Der würde dann 2048 kb/s bedeuten.
Nachdem DSL für Privatkunden im Normalfall Asynchron läuft (also ADSL) liegt der Upstream niedriger.
Für gewöhnlich weisen Upstream/Downstream ein Verhältnis von 1:4 auf.
Wenn dein Downstream maximal 2048 kb/s zulässt, liegt der Upstream vermutlich bei 512 kb/s.
Ob diese Annahme korekt ist, wirst du mir sicher in einem weiteren Post melden ;)

ET ist so ausgelegt, daß es auch Spieler mit einem 56k-Modem spielen können.
Wie der Name schon sagt, kann ein solches Modem nur 56kb/s in beiden Richtungen übertragen.
Das bedeutet ein Server braucht für jeden Spieler eine Bandbreite von ~56k/s wenn die Datenrate niedrig eingestellt ist.

512:56=9,14

Also mit niedriger Datenrate müsste ein Server mit DSL 2000 etwa 9 Spieler bedienen können.
Dies ist aber rein teoretisch. Die Bandbreite deines Anschlusses wird noch von anderen Protocolen eingeengt und jedes Protocol hat einen Overhead der sich nicht vermeiden läst.
Ich schätze daß etwas 6 Spieler übers Internet zocken können.
Wieviele es wirklich sind müsstest du in der Praxis testen.

mfG WoodSTokk
Du scheisst es nicht zu wetzen
Testserver: @peStable (95.129.206.243:27960)
judscheidscha
Mitglied
Mitglied
Beiträge: 25
Registriert: Mo 18. Dez 2006, 17:10

Beitrag von judscheidscha »

also ich hab das jetzt mal ausprobiert! Aber ich kriggs nicht zum laufen! dieses scheiß localhost steht da imernoch! egal welche server.cfg ich verändere ob etpub oder etmain oder jaymod das bleibt immer gleich. auch wenn ich den namen vom server ändere ist er dann im spiel wieder wie der alte :evil: :evil: :evil: :evil: :evil: was kann das nur sein?welche server.cfg nimmt der denn?wo kann ich das nachguggen???welche ip muss denn jetzt in die server.cfg? die auf www.wieistmeineip.de oder die andere 192.x.x.x
S.A.R.S.
Grünschnabel
Grünschnabel
Beiträge: 6
Registriert: Do 21. Dez 2006, 14:47
Kontaktdaten:

Beitrag von S.A.R.S. »

judscheidscha hat geschrieben:also ich hab das jetzt mal ausprobiert! Aber ich kriggs nicht zum laufen! dieses scheiß localhost steht da imernoch! egal welche server.cfg ich verändere ob etpub oder etmain oder jaymod das bleibt immer gleich. auch wenn ich den namen vom server ändere ist er dann im spiel wieder wie der alte :evil: :evil: :evil: :evil: :evil: was kann das nur sein?welche server.cfg nimmt der denn?
Das Problem habe ich auch, ich habe an meiner serverconfig rumgebastelt, viel eingestellt, alles mti meiner IP gemacht(besitze keinen Router), aber er läd die config einfach nicht! Muss ich etwas in der et.exe ändern? und wenn ja, wie mach ich das? Denn ich habe es über eted versucht, das klappt nicht.


MfG; S.A.R.S.
ET

Ich bin Sars, und wie jedes Virus bin ich: Nutzlos, unerwünscht, komme aber immer wieder!

Ingamename: Iluminator, [OPI]SARS, S.A.R.S.
Benutzeravatar
WoodSTokk
Helpdesk
Helpdesk
Beiträge: 2634
Registriert: Fr 6. Dez 2002, 03:09
Wohnort: Wien/Österreich/Europa/Erde
Alter: 53

Beitrag von WoodSTokk »

Wenn ihr beim starten ein Mod-Verzeichnis angebt, oder ihr in ET den Mod läd (im Hauptmenü), dann sucht ET alle Dateien zuerst in diesem Mod-Verzeichnis und erst wenn es eine Datei dort nicht gibt, sucht es im 'etmain'-Verzeichnis.

Fall 1:
Wenn ihr den Mod 'etpub' ladet und ihr eine 'server.cfg' im Verzeichnis 'etpub' und im 'etmain' habt, dann läd ET die 'server.cfg' die im Verzeichnis 'etpub' liegt.

Fall 2:
Wenn ihr den Mod 'etpub' ladet und ihr eine 'server.cfg' nur im Verzeichnis 'etmain' habt, dann läd ET die 'server.cfg' die im Verzeichnis 'etmain' liegt.

Fall 3:
Wenn ihr den Mod 'etpub' ladet und ihr keine 'server.cfg' habt, dann startet ET mit einer Grundeinstellung.

Für einen Listen-Server würde ich empfehlen, keine IP in der 'server.cfg' anzugeben.
Ich habe es getestet und ein Listen-Server ohne IP-Angabe lauscht auf allen Interfaces die er im Rechner findet.

mfG WoodSTokk
Du scheisst es nicht zu wetzen
Testserver: @peStable (95.129.206.243:27960)
judscheidscha
Mitglied
Mitglied
Beiträge: 25
Registriert: Mo 18. Dez 2006, 17:10

Beitrag von judscheidscha »

ja aber wenn ich ein listen server auf mache ohne eine ip anzugeben wie soll ich dann wissen auf welche ip mein freund connecten soll (mit der öffentlichen funzts nicht)oder ich hab was falsch gemacht aber ich wüsste nicht was
Benutzeravatar
WoodSTokk
Helpdesk
Helpdesk
Beiträge: 2634
Registriert: Fr 6. Dez 2002, 03:09
Wohnort: Wien/Österreich/Europa/Erde
Alter: 53

Beitrag von WoodSTokk »

Wenn du keine IP in der 'server.cfg' angibst, bindet ET sich an alle Interfaces.
Dein Freund connectet sich dann auf die IP die du auf der Seite http://www.wieistmeineip.de hast.
Wenn da keine Verbindung zustande kommt, ist dein Router falsch configuriert.

Überprüfen kannst du das nur indem du deinen Rechner mal direkt ans Internet hängst und dein Rechner sich direkt einwählt so das dein Rechner die offizielle IP bekommt.

~~~ edit ~~~
Hab jetzt mein Script wieder aktiviert.
Damit kannst du prüfen ob von aussen (also übers Internet) dein ET-Server erreichbar ist.
http://www.mozartstube.at/apes/server.p ... .203:27960
Du musst nur hinter '?ip=' deine IP:Port angeben und das Script versucht dort Informationen über den angegebenen Server abzufragen (in diesem Beispiel der ET-Server der City).

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