networking with the Monk
Published on January 31, 2008 By the_Monk In Technical

I have already posted this information to several other forums including the World in Conflict forums where it has received much attention and helped many people with posts such as "I can't connect to servers" , "I can't see all the servers" , "my friends can't see/connect to my server" etc. I have decided to post it again and hopefully it'll be made into a sticky!

I work in IT (design complex NAT/network structures for coporate clients) so that's how I know what I'm talking about. Second, I've had my server the Monk's [PROVING GROUNDS] running a dedicated server for most multiplayer games released since HW1/Operation Flashpoint, so anyone with game hosting issues, ask away! NAT and the misconceptions/inability to configure it are the single largest cause for people not being able to see/connect to/host internet servers today!

 

A quick lesson on NAT:

NAT (Strict) - Port AND Address-restricted NAT (the router/firewall insists that the packet return from both the same IP Address AND Port the packet was originally sent out to)

NAT (Moderate) - Port-restricted NAT (the router/firewall insists that the packet return from the same Port the packet was originally sent out to but doesn't care if the IP Address isn't the same)

NAT (OPEN) - Port AND Address independent NAT (the router/firewall doesn't care which Port OR IP Address the return packet comes from and simply forwards the data packet on to the internal IP you will have specified in your "port-forwarding") Obviously OPEN-NAT is the least secure and also by extension the most flexible for hosting/connecting-to games.

MOST games will work having TCP set to STRICT and UDP set to MODERATE. ALL games will work setting both TCP and UDP NAT filtering to OPEN. (your routers may or may not even let you modify NAT filtering, many SOHO routers do not!) I have "real" routers/firewalls (very expensive also ) so I have granular control over many things that many SOHO routers don't even reference such as the above.

If your router DOES allow NAT control then my suggestions above willwork! Plain and simple. NAT, when not implemented with any sort of controls (like on many SOHO routers, and crappy retail anti-malware/firewall software) is the single biggest reason for sour gamers!

Happy gaming/hosting, monk out!

xfire: the1monk

 

EDIT: here is a link a "networking guide for the gamer" I wrote which may also come in handy the "[url=http://www.themonk.ca/Monk/Networking_for_the_Gamer_by_the_Monk.pdf]Networking for the Gamer[/url]" guide I compiled of all the "generic" networking information I posted to various forums.

EDIT:

Here is the link to my SINS-specific guide "Networking and SINS" (version 1.0 written Feb 14/2008) which contains all information necessary in order to play/host SINS!

http://themonk.ca/Monk/Networking_and_Sins_by_the_Monk.pdf


Comments (Page 1)
9 Pages1 2 3  Last
on Jan 31, 2008

Argh,

The link to my "networking-for-the-gamer" guide didn't show up properly in my first post, so I'll try again.

Here's the link to the general NON-SINS version of my guide:  (for my SINS-specific guide look up!  at the OP just under the GREEN writing!)
WWW Link


I should also mention that I actually run my servers .exe as a windows "service" and am therefore able to run the game with alternate security credentials, start/stop it from the windows "services" list and have the game "service" monitored and automaticly re-started should it actually crash.

I run ALL of my dedicated servers for games in this way (I find many of them use less RAM and are far more stable when doing so).

here's what needs to be done for you to do what I've done to run any Game.exe as a windows "service" and therefore be able to start at system boot (if you desire), monitor it, run it with alternate security credentials (ie. local system), and be able to restart it!

Here's how,

1. Go to [www.codeproject.com] and download a little app made by Xiangyang Liu called "XYNTServiceProject.zip"

2. Extract XYNTService.exe and XYNTService.ini from the .zip and place in your %systemroot%\gamepath folder. (folder which contains the sins.exe)

3. I renamed the XYNTService.exe and XYNTService.ini to Sins_Service.exe and Sins_Service.ini respectively (I have more than one instance of this service for different apps)

4. Goto Start > Run > and enter "cmd" (without quotes) into the run field, then hit enter.

5. In the command prompt window navigate to your %systemroot%\gamepath folder.

cd\ <--hit ENTER after each command
cd "\program files\Sins" <--use quotes around the path
dir <--to verify that the service .exe and .ini are there
Sins_service -i <--this installs the service to your "services" list in administrative tools.

6. Now we need to modify the service .ini file. Open the Sins_service.ini using notepad. Here is my sample .ini

[Settings]
ServiceName=Sins_dedicated <--the name under which it will show in the "services" list
CheckProcessSeconds = 120 <--how often to check if service still running
[Process0]
CommandLine = f:\games\Sins\Sins.exe <--all on one line
WorkingDir= f:\games\Sins\ <--path to wic_ds.exe
PauseStart= <-- not needed
PauseEnd= <-- not needed
UserInterface = Yes <-- wether or not you can see it in taskmanager
Restart = Yes <-- here's the restart command



WARNING!! the "CheckProcessSeconds=" value should NOT be set too low as you may not be able to down your server to make changes. I speak from experience!!! ;0


7. Now navigate to "Administrative Tools" > "Services" (alternatively run "services.msc" from the START > RUN field) and check the properties for the newly installed service "Sins_dedicated" (or whatever you called it in the .ini file value "ServiceName=") By default it will be set to start automaticaly. Here you may also change which credentials the service should run under. I've left mine at the default "local system" and the service runs fine. DO NOT change the "restart" settings here in the properties, that is what the .ini is for!

8. As soon as you right-click on the new service name and click "START" the service will start, which will in turn start your server!


I have tested and implemented all of the above on my various dedicated servers for various multi-player games.


To those who are averse to cli's and typing (averse to controlling their own destiny....hehe) a GUI to admin the above service can be found at the same website [www.codeproject.com]
I have NOT used the GUI so please no questions related to the GUI (I'm sure it's self-explanatory anyway!)

See you peeps in game!

the Monk

on Jan 31, 2008
you are a god of gaming . That is just so far beyond leet and any other words.
on Feb 01, 2008
Wow, I'm glad he's on our side! Seriously, Monk you know your stuff - good to have you aboard! I expect (as with most peer to peer games) there will be hosting and connection issues stemming from people's network/router/firewall configurations. Your material will come in mighty handy over the next couple weeks
on Feb 01, 2008
Wooah!! The Man, The Myth, The Monk!

This info should most surely go into the FAQ. Thanks for the primer.
on Feb 01, 2008
Teh Monkzor ftw!

Added to the xfire btw


Just in case my invite fails (running it on the Mac) please add me:

nephilim76


Regards and play soon


on Feb 01, 2008
Not to be a stickler or anything, but I've never heard those terms you used for NAT before. Now I know it's just semantics at this point and with naming conventions being what they are in the IT world, you're inevitably going to have some jerk correct you (Guess that's me...Hi!)

Coming from a Cisco background, we use the terms Static, Dynamic, and Overload to describe the differing NAT types. Most home user routers (Linksys, D-Link, etc...) use PAT (Port Address Translation, a form of dynamic NAT) to do their port-forwarding, thus the reason I mention this. Some of the other forum users here may try and find those particular settings in their routers and get confused. I couldn't get a copy of your guide ("server not found" message), so if you addressed this already, much apologies! Anyhoo...I liked your posts, especially the second one with the services howto! Thanks!
on Feb 01, 2008
@ ALL

Hiya back at everyone who already posted! Looking forward to a long stay with this community.

I apologise but the clan-server I'm hosting my guide from has temporarily gone down (I'll have to find the web-admin and get the problem corrected) Sorry for the inconvenience.




Not to be a stickler or anything, but I've never heard those terms you used for NAT before. Now I know it's just semantics at this point and with naming conventions being what they are in the IT world, you're inevitably going to have some jerk correct you (Guess that's me...Hi!)

Coming from a Cisco background, we use the terms Static, Dynamic, and Overload to describe the differing NAT types. Most home user routers (Linksys, D-Link, etc...) use PAT (Port Address Translation, a form of dynamic NAT) to do their port-forwarding, thus the reason I mention this. Some of the other forum users here may try and find those particular settings in their routers and get confused. I couldn't get a copy of your guide ("server not found" message), so if you addressed this already, much apologies! Anyhoo...I liked your posts, especially the second one with the services howto! Thanks!



@ Slimpinto

No need for corrections. I use only enterprise-level routers/firewalls myself (even at home), so I got my "relaxed" nomenclature from a SOHO-type router (the D-Link Gamer Lounge series) You'll find the afore-mentioned router describing its "NAT-structure" exactly the way I've described it above. As in my guide, I have chosen to "keep-it-simple" in order to not needlessly complicate explanations.

There aren't that many SOHO-level routers out there that allow for seperately (seperate from port-forwarding) controlled "NAT-relaxing" (most still rely on port-forwarding alone, and if they have a NAT-related option its called "gaming-mode" or something similar) so keeping it simple is in order here.


the Monk
on Feb 01, 2008
Yaaaaarrrrr

I should also mention that I actually run my servers .exe as a windows "service"

Firstly, I work in IT


That doesent fit, does it... Windows / IT ..... and youve got a picture of a half naked non ..... pervert

just joking

--------------------------------
SINS de deutsche Seite
SINS bz english site
Zweite deutsche Seite
Deutsche Wiki zu SoaSE
Sins Wiki on Wikepedia
on Feb 01, 2008
@ Slimpinto

No need for corrections. I use only enterprise-level routers/firewalls myself (even at home), so I got my "relaxed" nomenclature from a SOHO-type router (the D-Link Gamer Lounge series) You'll find the afore-mentioned router describing its "NAT-structure" exactly the way I've described it above. As in my guide, I have chosen to "keep-it-simple" in order to not needlessly complicate explanations.

There aren't that many SOHO-level routers out there that allow for seperately (seperate from port-forwarding) controlled "NAT-relaxing" (most still rely on port-forwarding alone, and if they have a NAT-related option its called "gaming-mode" or something similar) so keeping it simple is in order here.


the Monk


I have the D-Link gaming lounge router too...I've never peeked at any of the HELP sections/glossary, it was obvious to me where to go to setup port-forwarding (Hamachi, etc...)...HEHE!

What I feel would ADD to your guide (or for other users here with routers), would be vendor/model specific step-by-step instructions (with screenshots, even better!), so users with little to no networking experience, could set theirs up. Dumming down the lingo, using vendor specific terms, and/or giving generalized "best practices" help, doesn't help the networking layman out very much IMO! Maybe individual replies to this post with that info for the common routers out there is something to consider? Just an idea...

on Feb 01, 2008
Gives the_Monk an *EVIL EYE*

Where were you when Beta 3 came out!
on Feb 01, 2008
I'm making this a sticky! Great stuff!
on Feb 01, 2008
Gives the_Monk an *EVIL EYE*

Where were you when Beta 3 came out!



*looks away ashamed* hehe

I'm ashamed to admit that I checked out Sins back when the website consisted of a single webpage! Then, realizing it would be a while before it came out and not wanting to torment myself by constantly checking back to keep tabs on progress I *trails off*.... left the site for a while...     


I didn't check back until sometime last fall and to my surprise Beta 4 was already closed! In my defense I'm a husband, father and director of operations for 2 IT firms.

^^hopes his defense is solid enough, but *ducks* anyway....just in case!

  
on Feb 01, 2008
good thing you ducked, you had a few rotten pansies flying at you!
on Feb 01, 2008
You ...... forgot...... never will you be forgiven!!!!!
on Feb 04, 2008
Just a little piece of information.

Just helped a guy (Revenge) get his game working online. He didn't have a router, but Windows Defender was obviously seeing Sins as a risk and was blocking it from accessing the network completely.

I will be posting back with instructions on how to get Sins to work with Defender. For now Revenge just disabled Windows Defender so that he can play.   


See you peeps in game!

p.s. Eventhough I've now been hosting for a few hours I still haven't "played" the game yet! Maybe later tonight...hehe

the Monk
9 Pages1 2 3  Last