Sie sind nicht angemeldet.

1

Montag, 8. August 2011, 17:05

Port 27005 definieren?

Hallo,

bei mir kommt es oft zu Portkonflikten also falls ich mal nen CSS server anmache, startet er nicht weil auf dessen Port schon ein anderer Server ist.
Nun habe ich in die Server Log geguckt und habe folgendes gefunden:

WARNING: Port 27005 was unavailable - bound to port 27006 instead
WARNING: Port 27040 was unavailable - bound to port 27041 instead
Network: IP *Adresse*, mode MP, dedicated Yes, ports 27028 SV / 27006 CL

Nun meine Frage, warum braucht der port bzw von wo kommt der 27040 (als sourcetv habe ich port 27033 gegeben obwohl dort kein stv drauf läuft) und warum ist 27005 nicht verfügbar?

Hoffe ihr könnt mir helfen.

Impact

Super Moderator

Beiträge: 1 276

Rootserver vorhanden: Nein

  • Nachricht senden

2

Montag, 8. August 2011, 17:43

Viele Ports werden von Steam bereits genutzt (Serverlisten etc), daher setzen die meisten Administratoren auf eine genaue Portstruktur.
Ich zB Starte Server ab Port 27050 und erhöhe pro Server um 10 Ports (27050,27060,27070)...
Aufschluss über die Ports liefern auch die bekannten Linux-Tools (Netstat,Lsof)...
Generell würde ich mich bei den Ports zwischen 27000-27050 Nicht einmischen, ich hatte mich wo anders bereits darüber ausgelassen.
Keine Garantie auf obiges

Genaueres soll dir jemand anderes erklären :D


MfG
Impact

DeaD_EyE

Administrator

Beiträge: 3 980

Wohnort: Hagen

Beruf: Mechatroniker (didaktische Systeme)

Rootserver vorhanden: Nein

  • Nachricht senden

3

Montag, 8. August 2011, 19:32

Wenn du beim Start alles genau definierst und ein gewisses Schema einhälst, kannst du auch Server mit aufeinanderfolgenden Ports starten.

z.B.:

Quellcode

1
2
3
4
5
./srcds_run -game cstrike -port 27015 +tv_port 28015 +replay_port 29015 +clientport 26015 +map de_dust2
./srcds_run -game cstrike -port 27016 +tv_port 28015 +replay_port 29016 +clientport 26016 +map de_dust2
./srcds_run -game cstrike -port 27017 +tv_port 28017 +replay_port 29017 +clientport 26017 +map de_dust2
./srcds_run -game cstrike -port 27018 +tv_port 28015 +replay_port 29018 +clientport 26018 +map de_dust2
./srcds_run -game cstrike -port 27019 +tv_port 28015 +replay_port 29019 +clientport 26019 +map de_dust2


So kann kein Serverport mit dem anderen kollidieren, da du schon von vorne herein die Ports festlegst.
Der Port 27005 ist der Clientport, welchen der Server eigentlich nicht belegen müsste, es aber dennoch macht. Der replay_port kommt von TF2. Da diese Funktion aber in der Engine übernommen worden ist, wird der Port auch bei allen anderen Modifikationen belegt, obwohl sie diesen Port nicht bräuchten. Der tv_port wird auch beim Serverstart belegt und kann auch anderen Ports in die Quere kommen. Ab 10 Server pro IP sollte man anfangen dieses Schema oder ein selbst gwwähltes für alle Server einzuhalten. Auch wenn man immer einen Abstand zwischen den Ports lässt, kann es trotzdem zu Überschneidungen kommen. Das wirkt sich dann so aus, dass der Server je nach Startreihenfolge einen anderen Gameserverport belegt als erwünscht ist.

EDIT: Fehler korrigiert.

MadMakz

Super Moderator

Beiträge: 1 878

Wohnort: ~#

Rootserver vorhanden: Ja

  • Nachricht senden

4

Dienstag, 9. August 2011, 15:04

src benötigt 5 (6) + 1 ports:

vac [-sport],
steamworks (archivements, leaderboards etc.),
game listen [-port],
communication [-clientport],
master server communication (server liste).

und optional:

tv listen [+tv_port]

wobei lediglich sichergestellt sein muss das game- (und ggf. tv-) listen port frei bzw. exklusiv sind. den rest verwaltet src selbst und vergibt, wie auch in deinen logs zu sehen, random ports (es wird solange def. += 1 versucht bis ein freier port erreicht wurde) wenn standartports besetzt. dies beinträchtigt die erreichbarkeit/spielbarkeit eines servers nicht.

der eine weitere (+1) port ist der sog. replay port (+replay_port, def 27040 bzw. -port +25), ein TF2 feature was in CS:S nicht benutzt wird aber dennoch das "verschwenden" einens weiteren ports verursacht und teilweise für verwirrung sorgt.
mehr zu diesem feature http://store.steampowered.com/news/5416/

Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von »MadMakz« (9. August 2011, 19:01) aus folgendem Grund: + command lines. - tv client, läuft wohl über clientport


DeaD_EyE

Administrator

Beiträge: 3 980

Wohnort: Hagen

Beruf: Mechatroniker (didaktische Systeme)

Rootserver vorhanden: Nein

  • Nachricht senden

5

Dienstag, 9. August 2011, 16:40

Es gibt unter anderem auch Meldungen, dass der replay_port auch Probleme verursacht, falls dieser nicht selbst vorgegeben wird. Mit dem clientport hatte ich selbst vor einiger Zeit Probleme. Erst nachdem ich diesen Port manuell für jeden Server zugewiesen habe, kam es zu keinen Kollisionen mehr. Wir hatten damals aufgrund der Hardware aber auch mehr als 10 Server (Public + War) auf einer Kiste laufen.

Ähnliche Themen