Pages: 1 2 3 [4]
  Print  
Author Topic: How do i make a server?  (Read 84165 times)
Gig
In the year 3000
***

Cakes 45
Posts: 4394


WWW
« Reply #75 on: June 02, 2010, 04:18:41 PM »

try another versionof oa
I already tried 0.8.5 and 0.8.1: same results with both
Quote
try another pc and/or os
I have only 1 PC at home. I don't think playing with router settings at work is advisable. Maybe I could try using Windows 7 instead of XP... even if my PC is old...
Quote
try another router
Maybe I will be able to get another one in the next weeks...
Logged

I never want to be aggressive, offensive or ironic with my posts. If you find something offending in my posts, read them again searching for a different mood there. If you still see something bad with them, please ask me infos. I can be wrong at times, but I never want to upset anyone.
Gig
In the year 3000
***

Cakes 45
Posts: 4394


WWW
« Reply #76 on: June 06, 2010, 03:29:26 AM »

Hi guys. I did it, finally! Smiley I had to do multiple tests, including portforwarding all UDP traffic to my PC, to be able to analyze it using Wireshark. This way, I discovered that, after the first tree packets (my server heartbeat, master server response, my server response -on ports 27960 & 27950-), then more packets are exchanged, and they come from more IP addresses and UDP ports.
My router changed my source port for the first outgoing packets, and those later packets pointed to the modifed port, that was then closed or simply not controlled by OpenArena. To have a server appear on the server list, these additional packets must work.
To fix, I had to enable an option called "Corresponding NAT entry for outgoing connection" in my "port forwarding" setting. This way, my first outgoing packets exit from my router with 27960 instead of a random port, so later incoming packets point to the right port!
I had already enabled that option during previous tests, but at that time it didn't work at all cause of some other configuration error that I later fixed...

Do you know other names for that important option under different router models?
Logged

I never want to be aggressive, offensive or ironic with my posts. If you find something offending in my posts, read them again searching for a different mood there. If you still see something bad with them, please ask me infos. I can be wrong at times, but I never want to upset anyone.
sago007
Posts a lot
*

Cakes 62
Posts: 1664


Open Arena Developer


WWW
« Reply #77 on: June 06, 2010, 03:59:06 AM »

Do you know other names for that important option under different router models?
I believe technically this should be mandatory for UDP connections. My router does not have such an option. Not that I have tried hosting a server on it, I use a linode for that.

My (ISP's) router is a NetGear CVG824G and possible the worst router I have ever tried. It sometimes drops TCP connections so not only do I need to enable TCP-keep-alive but I have to set some extremely low intervals too. Worse yet: I have no alternatives, because it is also the modem and I only have one ISP option in my current location.
I simply have to bitch aggressively about after spending most of yesterday trying to get postgreSQL traffic through. This is sorta OpenArena relevant.
Logged

There are nothing offending in my posts.
Falkland
Member


Cakes 6
Posts: 590


« Reply #78 on: June 06, 2010, 08:43:23 AM »

Hi guys. I did it, finally! Smiley I had to do multiple tests, including portforwarding all UDP traffic to my PC, to be able to analyze it using Wireshark. This way, I discovered that, after the first tree packets (my server heartbeat, master server response, my server response -on ports 27960 & 27950-), then more packets are exchanged, and they come from more IP addresses and UDP ports.

That is all incoming traffic coming from clients ( getinfo ) and/or sites like gamespy that have access to the dpmaster list. Be careful because this traffic could become significant in certain days and causing problems with your DSL ( eg ... too many incoming connections )

A getinfo query is usually followed by a getchallenge request when a client is trying to connect.

My router changed my source port for the first outgoing packets, and those later packets pointed to the modifed port, that was then closed or simply not controlled by OpenArena. To have a server appear on the server list, these additional packets must work.
To fix, I had to enable an option called "Corresponding NAT entry for outgoing connection" in my "port forwarding" setting. This way, my first outgoing packets exit from my router with 27960 instead of a random port, so later incoming packets point to the right port!

Because your router doesn't map automatically the forwarded port to the corresponding outgoing port . Other routers offer the option to manually map the forwarded single port or group of ports on a single outgoing port.
Logged
Falkland
Member


Cakes 6
Posts: 590


« Reply #79 on: June 06, 2010, 11:45:25 AM »

[...] It sometimes drops TCP connections so not only do I need to enable TCP-keep-alive but I have to set some extremely low intervals too. Worse yet: I have no alternatives, because it is also the modem and I only have one ISP option in my current location.

My router is a little linux box ( MIPS CPU with - apparently - 14MB of memory ) and I have to tune timeouts and other parameters to avoid problems ( mostly congestions ).

Code:
/proc/sys/net/ipv4/tcp_syncookies 1 ( modified to 0 : I prefer to have TCP windows scaling active instead since for kernel versions < 2.6.26 , syncookies function disables it)

/proc/sys/net/ipv4/tcp_rfc1337 0 ( modified to 1 : see http://www.faqs.org/rfcs/rfc1337.html )

/proc/sys/net/ipv4/tcp_max_orphans 2048 ( modified to 2 : every new tcp connection is usually not fully initialized but it reuses
                                                            a recent detached piece of memory used by a previous and already
                                                            dead tcp connection - orphan - , for performance reasons at a cost
                                                            of an little increasing of used memory . I prefer to have more free memory instead. )

/proc/sys/net/ipv4/ip_local_port_range 2048 4999 ( modified to 32768 62000 as done in more recent linux kernel versions )

/proc/sys/net/ipv4/netfilter/ip_conntrack_generic_timeout 600 ( reduced to 60 sec as done in the more recent linux kernel versions )

/proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_close_wait 120 ( reduced to 60 sec )

/proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_fin_wait  120 ( reduced to 60 sec )

/proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_time_wait 120 ( reduced to 60 sec )

/proc/sys/net/ipv4/netfilter/ip_conntrack_max 1024 ( increased to 4096 )

/proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_established 432000 ( in seconds that means 5 days !! ; I've reduced to
                                                                                           half a day = 43200 , since I don't have any running
                                                                                          application using the same TCP connection for such that time )

Those changes have permitted to increase the router uptime , even with more clients accessing internet contemporaneously.

On the other side , those changes can't be stored , so I had to restore them in case of reboot .
Logged
Pages: 1 2 3 [4]
  Print  
 
Jump to: