PDA

Bekijk Volledige Versie : CoD1 server van buitenaf niet bereikbaar



Prana
29/01/09, 02:51
Hoi,

Ik probeer al een tijdje een cod1 server te installeren op mijn server thuis (Ubuntu). Ik heb al succesvol een teamspeak server draaiend, alleen met de cod1 server heb ik nog een probleem. Na veel googlen heb ik de de cod1 server geinstalleerd en ik start hem alsvolgt op:
./cod_lnxded +set dedicated 2 +exec servercfg.cfg +set net_ip localhost +pb_sv_enable
Als ik dit uitvoer dan zie ik dat de server gewoon opstart.
Zie hier de output: http://dl.getdropbox.com/u/393888/screenshotcodserver.JPG.
Oftewel, de server draait. Ik kan namelijk nu rcon commands invoeren e.d. en als ik serverinfo als commando intype dan ziet dat er uit zoals het hoort. Via het lan ip (192.168.1.106) kan met mijn laptop gewoon connecten en werkt alles ook zoals het hoort. Echter als ik of iemand anders van buitenaf met een pc probeer te connecten via mijn ip van mijn ISP + de poort (86.xx.xxx.xx:28960) dan geeft ie een timeout, dus hij ziet de server niet.
Mijn logische tevens prangende vraag hierna is: weet iemand wat ik fout doe en hoe ik dit kan oplossen?

En ja ik heb de poorten geforward in de router (poort 28960, TCP en UDP)
Ik heb dit ook voor de teamspeak server moeten doen en die werkt, er kunnen mensen van buitenaf op.
Ook heb ik de poort 28960 in de server zelf opengezet met iptables, maar ik denk niet dat dit nodig is aangezien ik dit voor de teamspeak server ook niet hoefde te doen.
Dus, weet iemand hoe ik dit probleem kan oplossen?
Alvast bedankt!

xabin
29/01/09, 08:37
De server draait op 127.0.0.1, klopt dat wel?
Wat is je publieke IP, misschien kunnen we even scannen op ports.

Prana
29/01/09, 12:12
Ja dat weet ik dus niet zeker, maar dat is toch gewoon dat ie op localhost draait? Want er staat ook dat ie een IP socket heeft geopend op localhost:28960, dus ik dacht als die poort in de router geforward wordt naar het netwerk ip adres van de server dat ie hem dan kon zien, aangezien hij luister naar zijn eigen 28960 poort en die zo via de router wordt aangeboden.

Maar hoe kan ik die poort scannen?

Julian
29/01/09, 14:34
Waarom gebruik je niet direct


+set net_ip ipadres

Prana
29/01/09, 15:10
Bedoel je: i.p.v. +set net_ip localhost -> +set net_ip ipadres en dan voor het ipadres mijn IP van mijn ISP?
Dat heb ik geprobeerd maar dan zegt ie:
ERROR: UDP_OpenSocket: bind: Cannot assign requested address. Wat ik ook heb opgezocht en logisch is aangezien dat ipadres niet aanwezig/bekend is op dat systeem (alleen bekend bij de router).

Of bedoel je: +set net_ip localhost -> +set net_ip ipadres en dan voor het ipadres mijn netwerk ip (192.168.1.106)?
Dat heb ik geprobeerd maar dat maakt geen verschil. Hij opent dan net als voor localhost de socket. Dus dan staat er niet: Opening IP socket: localhost:28960 maar dan staat er: Opening IP socket: 192.168.1.106:28960.
Ook dan kan ik er wel via de lan op maar niet van buitenaf.

Julian
29/01/09, 15:27
Met een search op Google kom je al een heel eind: http://www.google.nl/search?hl=nl&q=ERROR%3A+UDP_OpenSocket%3A+bind%3A+Cannot+assign +requested+address.&meta=

Ik zie meteen al een paar mogelijke oorzaken. Domme vraag: typ je het IP-adres goed?

Prana
29/01/09, 15:52
Met een search op Google kom je inderdaad al een heel eind. De link die je stuurde, daar heb ik al op gezocht. Ik heb daarvoor ook de oplossing gevonden zoals ik had vermeld. Mijn externe ISP IP kan ik niet gebruiken omdat dat IP niet aanwezig/bekend is op de server. Die zit namelijk op een netwerk met meerdere IP's en krijgt daarom een netwerkadres (192.168.1.106) en niet mijn externe ISP adres (86.xx.xxx.xx). Ik kan dus alleen op het netwerk ipadres een socket openen (wat hetzelfde is als openen op localhost). Als ik poort 28960 in de router dus forward naar de server (192.168.1.106) dan zou hij het moeten doen, omdat de server een socket heeft geopend op zijn eigen netwerk ipadres en daar naar luistert. Dus dat is het probleem niet.

En ik heb inderdaad al vele malen het IP adres gecheckt :P (ook met ifconfig)