Making server public with Dynamic IP behind NAT (hosted on 2 machines)

Page 1 of 2 12 LastLast
Results 1 to 15 of 28
  1. #1
    Valued Member tomas0801 is offline
    MemberRank
    Oct 2011 Join Date
    149Posts

    Making server public with Dynamic IP behind NAT (hosted on 2 machines)

    Making server public with Dynamic IP behind NAT (router) (hosted on 2 machines).

    So i make i simply tutorial for noobs how make your server hosted on 2 machines public if you have dynamic IP address and your machines are behind NAT.

    1. Configuring your router.
    In this step we need to setup first ddns (Dynamic Domain Name Server) on our router. Most of Cisco, Linksys by Cisco routers support by default ddns service from dyndns.org or tzo.com.
    In tutorial i use Linksys WAG200G ADSL Home Gateway router.

    First we need to login into router administration panel.
    For this open a web browser and type there your router IP address. In Linksys WAG200G by default (like in most of routers): 192.168.1.1



    1. Here you put your dyndns.org username.
    2. Here you put your dyndns.org password.
    3. Here you put your domain name what you created in dyndns.org, example: myserver.dyndns.org
    4. Here will be displayed your isp dynamic IP

    Q & A:
    Q: Where i can get my dyndns free account?
    A: You can register your free dyndns.org account at this link dyndns.org
    Q: How much it cost?
    A: DynDNS is free in basic option and cost 0 until you decide to use DynDNS Pro - it is paid service.

    Next step is setting up port forwarding in your router.



    1. Here give a name your application for what you want redirect port.
    2. Here put number of port which you want to redirect.
    3. Here put number of port to which you want redirect destination port.
    4. Put here ip adress of machine to where you want forward all packets sent on destination port.
    Make check on enable redirection.

    Example: You have installed Apache Server on your pc and your Apache using port 80 by default (you can also configure Apache to work with another port).
    http service using port 80.
    So you can put in your config:
    Application - http
    External port - 80
    Internal port - 80 (or any another what your Apache Server or IIS using)
    IP address - here you put your machine local ip address where you have installed Apache Server or IIS, example 192.168.1.100

    So same for game client connection to server:
    Application - Game Client
    External port - 15779
    Internal port - 15779
    IP address - here you put your 1st machine local ip addresss, example 192.168.1.100

    And now your server is accesable by all without hamachi or vpn.

    You need also have opened all needed ports between 2 machines but this u set in each machine.

    Comments:
    You can meet also another private networks addressing:
    10.0.0.0 - 10.255.255.255
    172.16.0.0 - 172.31.255.255
    192.168.0.0 - 192.168.255.255
    Your private network in home between hosts should work correctly if you want to make your server public.
    The best is when your router give static ip to hosts inside your private network - related to MAC address of host - i mean if your ip doesnt change at evry shutting down ur pc and so.
    Make sure you not gave to your hosts network base IP or broadcast IP address because your network not will work correctly.

    2. Configuring Certification and server.cfg

    So next step is correct configuration of Certification and server.cfg
    First Certification:
    You need to edit your srNodeType.ini:
    Code:
    [global]
    count=2
    [entry0]
    id=335
    operation_type=22
    name=Sro Road 1
    wip= here put your 1st machine local ip, example 192.168.1.100
    nip= here put your 1st machine local ip, example 192.168.1.100
    machine_manager_node_id=699
    [entry1]
    id=336
    operation_type=22
    name=Sro Road 2
    wip= here put your 2nd machine local ip, example 192.168.1.101
    nip= here put your 2nd machine local ip, example 192.168.1.101
    machine_manager_node_id=701
    Now setup of your server.cfg
    Code:
    Common {
    	debug_option_debugger_present{
    			DEBUG_OPTION_ASSERT_SHOW_MESSAGEBOX_OKCANCEL,
    			DEBUG_OPTION_ASSERT_ADVANCE_BREAK,
    			DEBUG_OPTION_ASSERT_CANCEL_EXIT
    	}
    	debug_option_stand_alone{			
    			DEBUG_OPTION_ASSERT_DONOT_SHOW_MESSAGEBOX,
    			DEBUG_OPTION_ASSERT_WRITE_MINIDUMP
    	}
    	netengine_debug_option_debugger_present{
    			DEBUG_OPTION_ASSERT_DONOT_SHOW_MESSAGEBOX,
    			DEBUG_OPTION_ASSERT_WRITE_MINIDUMP
    	}
    	netengine_debug_option_stand_alone{
    			DEBUG_OPTION_ASSERT_DONOT_SHOW_MESSAGEBOX,
    			DEBUG_OPTION_ASSERT_WRITE_MINIDUMP 
    	}
    
    }
    
    ////////////////////////////////////////////////////////////////////////////////////////////
    GlobalManager {
    		Certification "your 1st machine local ip", 32000 
    		LoginFailureTolerance		3
    		IBUVFailureTolerance		3
    		LoginFailureBlockTimeMin	0
    		IBUVFailureBlockTimeMin		0
    		AutomatedPunisher			"AutomatedPunisher"
    		LoginPunishmentGuide		"Blocked for 10 minutes due to incorrect password entered 3 times"
    		LoginPunishmentDescription	"Blocked for 10 minutes due to incorrect password entered 3 times"
    		IBUVPunishmentGuide			"Blocked for 10 minutes due to incorrect code entered 3 times"
    		IBUVPunishmentDescription	"Blocked for 10 minutes due to incorrect code entered 3 times"
    }
    
    GatewayServer {
    		LastFullVersion_SR_Client 	130
    		Certification "your 1st machine local ip", 15880
    		IBUVQueueReserveCount		20000
    		IBUVQueuePrepareRatio		0.10
    		IBUVFailureIPTolerance		0
    		IBUVStringSize				1
    		IBUVCharacterSet			"ABCDEF1234567890"
    }
    
    DownloadServer {
            Certification "your 1st machine local ip", 15880
    }
    FarmManager {
    		Certification "your 1st machine local ip", 15880
    }
    
    AgentServer {
    		Certification "your 1st machine local ip", 15882 //no global manager running lol
    			//traffic_filter_activity 	"service_off"
    			//MaxUser 5000
    			//SockTCPCount 15000
    		MaxConnectionsPerServer 		"5000"
    		MaxConnectionsPer1_OServer 		"5000"
    }
    
    MachineManager {
    		Certification "your 1st machine local ip", 15880
    		CERTIFICATION_IP_BIND "your 1st machine local ip"
    }
    
    SR_GameServer {
    		Certification "your 1st machine local ip", 15882
    		SockTCPCount 									"5000"
    		ExpRatio 										"100000"
    		ExpRatioParty 									"110000" 
    		DropItemRatio 									"50000"
    		DropGoldAmountCoef 								"20000"
    		HwanGainFactor 									"250"
    		ShowFormulaDetail 								"1"
    	
    			//WINTER_EVENT_2009							EVENT_ON
    			//EUBUSINESS_EVENT							EVENT_ON
    			//GOLDEN_PIG_FEBRUARY_EVENT					EVENT_ON
    			//THANKS_GIVING_EVENT						EVENT_ON
    			//LIBERATION_EVENT							EVENT_ON
    		LOCALE 											LOCALE_VIETNAM
           
    			//#ifdef OPEN_MARKET_SYSTEM
    				SET_FEE_RATE            				"0,5,5,5"
    				SELL_FEE_RATE           				"0,10,10,10"
    			//#endif OPEN_MARKET_SYSTEM
    			//RE FTW
    
    		DO_NOT_SPAWN_MONSTER_OVER_MAX_SERVICE_LEVEL 	"OFF"
    		ENTER_LIMIT_CONDITION_GAME_WORLD_ASSIGNED 		"OFF"
    
    
    }
    
    SR_ShardManager {
    		Certification "your 1st machine local ip", 15882
    		BILLING_SERVER_URL 				"http://your 1st machine local ip:8080/"
    		CREST_FTP_URL 					"ftp://your_ftp_login:ftp_password@your 1st machine local ip/"
    		ChristmasEvent2007 				1
    		SERVER_EVENT_SYSTEM             ON
    		LOCALE 							LOCALE_VIETNAM
    		FlagEvent 						1
    			//HourForMeterRateLevelFirst	22
    			//HourForMeterRateLevelSecond	23
    
    		BattleArenaRandom 				1
    		BattleArenaParty 				1
    		BattleArenaGuild 				1
    		BattleArenaJob 					1
    		ArenaMatchOccupy 				1
    		ArenaMatchFlag 					1
    		ArenaMatchPoint 				1
    }

    3. Making your game launcher able to connect your server.


    So we need PK2Extractor, PK2Editor, DivisionManager.
    We need to open our Media.pk2 in PK2Extractor and extract from it DIVISIONINFO.txt file.
    After we open extracted DIVISIONINFO.txt with DivisionManager and we delete all existing divisions. Than we press on Add new division. You can name it however you want, example DIV01. Than we click with mouse once on this division and we press ADD SERVER - we put there our domain created by us in dyndns.org example: myserver.dyndns.org
    You save your DIVISIONINFO.txt and upload it back into your Media.pk2 by PK2Editor.

    Your client is now configured to connect with your game server without using hamachi!

    Tutorial created by me. Don't release it under your name. I not want see this tutorial on epvp. If you want post this tutorial on another forum (expect epvp) email me!

    If i helped you or if u like my tutorial press Like !

    Cheers,
    tomas0801
    Last edited by tomas0801; 07-11-11 at 10:55 PM.


  2. #2
    Enthusiast jsqdcdh is offline
    MemberRank
    Oct 2011 Join Date
    29Posts

    Re: [Tutorial]Making server public with Dynamic IP behind NAT (hosted on 2 machines)

    C9 error

  3. #3
    Valued Member kashmar is offline
    MemberRank
    Aug 2009 Join Date
    122Posts

    Re: [Tutorial]Making server public with Dynamic IP behind NAT (hosted on 2 machines)

    man thanks for the guide but can you make one for vpn between my dedicated server and vmware installed on it i have 2 ips address one for the dedicated the other for the vmware but it can't connect to the db , i make remote connection to mssql but ddon't know what's worng so i want try to make vpn

  4. #4
    Valued Member tomas0801 is offline
    MemberRank
    Oct 2011 Join Date
    149Posts

    Re: [Tutorial]Making server public with Dynamic IP behind NAT (hosted on 2 machines)

    Quote Originally Posted by jsqdcdh View Post
    C9 error
    Your port redirection isn't setted correctly or your local private network not work correctly.

    Quote Originally Posted by kashmar View Post
    man thanks for the guide but can you make one for vpn between my dedicated server and vmware installed on it i have 2 ips address one for the dedicated the other for the vmware but it can't connect to the db , i make remote connection to mssql but ddon't know what's worng so i want try to make vpn
    You not need VPN, just open ports between dedi and VMWare. and you will be abble connect to db.

  5. #5
    Account Upgraded | Title Enabled! kitez is offline
    MemberRank
    Aug 2010 Join Date
    549Posts

    Re: [Tutorial]Making server public with Dynamic IP behind NAT (hosted on 2 machines)

    hello, i got this "error txt file",

    first one is StartupError_DownloadServer.txt, it is contain :

    certification ip is void

    and second one is StartupError_GlobalManager.txt, it is contain :

    cannot identity machine public ip

    why is that??


    thx for your help..

  6. #6
    Valued Member tomas0801 is offline
    MemberRank
    Oct 2011 Join Date
    149Posts

    Re: [Tutorial]Making server public with Dynamic IP behind NAT (hosted on 2 machines)

    Quote Originally Posted by kitez View Post
    hello, i got this "error txt file",

    first one is StartupError_DownloadServer.txt, it is contain :

    certification ip is void

    and second one is StartupError_GlobalManager.txt, it is contain :

    cannot identity machine public ip

    why is that??


    thx for your help..
    Probably you wrong configured your router and certification ini files. Post me screens of your error and your certification configuration and server.cfg configuration.

    Greetz

  7. #7
    Enthusiast jsqdcdh is offline
    MemberRank
    Oct 2011 Join Date
    29Posts

    Re: [Tutorial]Making server public with Dynamic IP behind NAT (hosted on 2 machines)

    Quote Originally Posted by tomas0801 View Post
    Your port redirection isn't setted correctly or your local private network not work correctly.
    which ports should i redirection set
    just 15779?
    pls tell me
    thx

    ID port IPadd
    1 15779 192.168.1.102 ALL
    2 15880 192.168.1.102 ALL
    3 15881 192.168.1.102 ALL
    4 15882 192.168.1.102 ALL
    5 15883 192.168.1.102 ALL
    6 15884 192.168.1.102 ALL
    7 15885 192.168.1.102 ALL
    8 25880 192.168.1.102 ALL
    9 32000 192.168.1.102 ALL
    10 80 192.168.1.102 ALL
    11 21 192.168.1.102 ALL

    any more?
    Last edited by jsqdcdh; 08-11-11 at 01:58 PM.

  8. #8
    Apprentice Jamesro is offline
    MemberRank
    Oct 2011 Join Date
    18Posts

    Re: [Tutorial]Making server public with Dynamic IP behind NAT (hosted on 2 machines)

    The certification server do bind on the primary IP adress of your network, which is NOT your dyndns/wan IP. (If you're behind a router that is connecting to your ISP) By using this, launcher will connect, game will start, you'll see the server but C9 error when you'll press connect. (I tried this by puting my WAN IP everywhere in the configs. But haven't tried with my local IP, I don't know if it will work...

  9. #9

    Re: [Tutorial]Making server public with Dynamic IP behind NAT (hosted on 2 machines)

    Quote Originally Posted by tomas0801 View Post
    Making server public with Dynamic IP behind NAT (router) (hosted on 2 machines).

    So i make i simply tutorial for noobs how make your server hosted on 2 machines public if you have dynamic IP address and your machines are behind NAT.

    1. Configuring your router.
    In this step we need to setup first ddns (Dynamic Domain Name Server) on our router. Most of Cisco, Linksys by Cisco routers support by default ddns service from dyndns.org or tzo.com.
    In tutorial i use Linksys WAG200G ADSL Home Gateway router.

    First we need to login into router administration panel.
    For this open a web browser and type there your router IP address. In Linksys WAG200G by default (like in most of routers): 192.168.1.1



    1. Here you put your dyndns.org username.
    2. Here you put your dyndns.org password.
    3. Here you put your domain name what you created in dyndns.org, example: myserver.dyndns.org
    4. Here will be displayed your isp dynamic IP

    Q & A:
    Q: Where i can get my dyndns free account?
    A: You can register your free dyndns.org account at this link dyndns.org
    Q: How much it cost?
    A: DynDNS is free in basic option and cost 0 until you decide to use DynDNS Pro - it is paid service.

    Next step is setting up port forwarding in your router.



    1. Here give a name your application for what you want redirect port.
    2. Here put number of port which you want to redirect.
    3. Here put number of port to which you want redirect destination port.
    4. Put here ip adress of machine to where you want forward all packets sent on destination port.
    Make check on enable redirection.

    Example: You have installed Apache Server on your pc and your Apache using port 80 by default (you can also configure Apache to work with another port).
    http service using port 80.
    So you can put in your config:
    Application - http
    External port - 80
    Internal port - 80 (or any another what your Apache Server or IIS using)
    IP address - here you put your machine local ip address where you have installed Apache Server or IIS, example 192.168.1.100

    So same for game client connection to server:
    Application - Game Client
    External port - 15779
    Internal port - 15779
    IP address - here you put your 1st machine local ip addresss, example 192.168.1.100

    And now your server is accesable by all without hamachi or vpn.

    You need also have opened all needed ports between 2 machines but this u set in each machine.

    Comments:
    You can meet also another private networks addressing:
    10.0.0.0 - 10.255.255.255
    172.16.0.0 - 172.31.255.255
    192.168.0.0 - 192.168.255.255
    Your private network in home between hosts should work correctly if you want to make your server public.
    The best is when your router give static ip to hosts inside your private network - related to MAC address of host - i mean if your ip doesnt change at evry shutting down ur pc and so.
    Make sure you not gave to your hosts network base IP or broadcast IP address because your network not will work correctly.

    2. Configuring Certification and server.cfg

    So next step is correct configuration of Certification and server.cfg
    First Certification:
    You need to edit your srNodeType.ini:
    Code:
    [global]
    count=2
    [entry0]
    id=335
    operation_type=22
    name=Sro Road 1
    wip= here put your 1st machine local ip, example 192.168.1.100
    nip= here put your 1st machine local ip, example 192.168.1.100
    machine_manager_node_id=699
    [entry1]
    id=336
    operation_type=22
    name=Sro Road 2
    wip= here put your 2nd machine local ip, example 192.168.1.101
    nip= here put your 2nd machine local ip, example 192.168.1.101
    machine_manager_node_id=701
    Now setup of your server.cfg
    Code:
    Common {
    	debug_option_debugger_present{
    			DEBUG_OPTION_ASSERT_SHOW_MESSAGEBOX_OKCANCEL,
    			DEBUG_OPTION_ASSERT_ADVANCE_BREAK,
    			DEBUG_OPTION_ASSERT_CANCEL_EXIT
    	}
    	debug_option_stand_alone{			
    			DEBUG_OPTION_ASSERT_DONOT_SHOW_MESSAGEBOX,
    			DEBUG_OPTION_ASSERT_WRITE_MINIDUMP
    	}
    	netengine_debug_option_debugger_present{
    			DEBUG_OPTION_ASSERT_DONOT_SHOW_MESSAGEBOX,
    			DEBUG_OPTION_ASSERT_WRITE_MINIDUMP
    	}
    	netengine_debug_option_stand_alone{
    			DEBUG_OPTION_ASSERT_DONOT_SHOW_MESSAGEBOX,
    			DEBUG_OPTION_ASSERT_WRITE_MINIDUMP 
    	}
    
    }
    
    ////////////////////////////////////////////////////////////////////////////////////////////
    GlobalManager {
    		Certification "your 1st machine local ip", 32000 
    		LoginFailureTolerance		3
    		IBUVFailureTolerance		3
    		LoginFailureBlockTimeMin	0
    		IBUVFailureBlockTimeMin		0
    		AutomatedPunisher			"AutomatedPunisher"
    		LoginPunishmentGuide		"Blocked for 10 minutes due to incorrect password entered 3 times"
    		LoginPunishmentDescription	"Blocked for 10 minutes due to incorrect password entered 3 times"
    		IBUVPunishmentGuide			"Blocked for 10 minutes due to incorrect code entered 3 times"
    		IBUVPunishmentDescription	"Blocked for 10 minutes due to incorrect code entered 3 times"
    }
    
    GatewayServer {
    		LastFullVersion_SR_Client 	130
    		Certification "your 1st machine local ip", 15880
    		IBUVQueueReserveCount		20000
    		IBUVQueuePrepareRatio		0.10
    		IBUVFailureIPTolerance		0
    		IBUVStringSize				1
    		IBUVCharacterSet			"ABCDEF1234567890"
    }
    
    DownloadServer {
            Certification "your 1st machine local ip", 15880
    }
    FarmManager {
    		Certification "your 1st machine local ip", 15880
    }
    
    AgentServer {
    		Certification "your 1st machine local ip", 15882 //no global manager running lol
    			//traffic_filter_activity 	"service_off"
    			//MaxUser 5000
    			//SockTCPCount 15000
    		MaxConnectionsPerServer 		"5000"
    		MaxConnectionsPer1_OServer 		"5000"
    }
    
    MachineManager {
    		Certification "your 1st machine local ip", 15880
    		CERTIFICATION_IP_BIND "your 1st machine local ip"
    }
    
    SR_GameServer {
    		Certification "your 1st machine local ip", 15882
    		SockTCPCount 									"5000"
    		ExpRatio 										"100000"
    		ExpRatioParty 									"110000" 
    		DropItemRatio 									"50000"
    		DropGoldAmountCoef 								"20000"
    		HwanGainFactor 									"250"
    		ShowFormulaDetail 								"1"
    	
    			//WINTER_EVENT_2009							EVENT_ON
    			//EUBUSINESS_EVENT							EVENT_ON
    			//GOLDEN_PIG_FEBRUARY_EVENT					EVENT_ON
    			//THANKS_GIVING_EVENT						EVENT_ON
    			//LIBERATION_EVENT							EVENT_ON
    		LOCALE 											LOCALE_VIETNAM
           
    			//#ifdef OPEN_MARKET_SYSTEM
    				SET_FEE_RATE            				"0,5,5,5"
    				SELL_FEE_RATE           				"0,10,10,10"
    			//#endif OPEN_MARKET_SYSTEM
    			//RE FTW
    
    		DO_NOT_SPAWN_MONSTER_OVER_MAX_SERVICE_LEVEL 	"OFF"
    		ENTER_LIMIT_CONDITION_GAME_WORLD_ASSIGNED 		"OFF"
    
    
    }
    
    SR_ShardManager {
    		Certification "your 1st machine local ip", 15882
    		BILLING_SERVER_URL 				"http://your 1st machine local ip:8080/"
    		CREST_FTP_URL 					"ftp://your_ftp_login:ftp_password@your 1st machine local ip/"
    		ChristmasEvent2007 				1
    		SERVER_EVENT_SYSTEM             ON
    		LOCALE 							LOCALE_VIETNAM
    		FlagEvent 						1
    			//HourForMeterRateLevelFirst	22
    			//HourForMeterRateLevelSecond	23
    
    		BattleArenaRandom 				1
    		BattleArenaParty 				1
    		BattleArenaGuild 				1
    		BattleArenaJob 					1
    		ArenaMatchOccupy 				1
    		ArenaMatchFlag 					1
    		ArenaMatchPoint 				1
    }

    3. Making your game launcher able to connect your server.


    So we need PK2Extractor, PK2Editor, DivisionManager.
    We need to open our Media.pk2 in PK2Extractor and extract from it DIVISIONINFO.txt file.
    After we open extracted DIVISIONINFO.txt with DivisionManager and we delete all existing divisions. Than we press on Add new division. You can name it however you want, example DIV01. Than we click with mouse once on this division and we press ADD SERVER - we put there our domain created by us in dyndns.org example: myserver.dyndns.org
    You save your DIVISIONINFO.txt and upload it back into your Media.pk2 by PK2Editor.

    Your client is now configured to connect with your game server without using hamachi!

    Tutorial created by me. Don't release it under your name. I not want see this tutorial on epvp. If you want post this tutorial on another forum (expect epvp) email me!

    If i helped you or if u like my tutorial press Like !

    Cheers,
    tomas0801
    on a network connect vpn is like? is public for all or a process needs to be done to make it public?

  10. #10
    Extacy plýs !!! Eroticus is offline
    MemberRank
    Nov 2007 Join Date
    Israel <3Location
    500Posts

    Re: [Tutorial]Making server public with Dynamic IP behind NAT (hosted on 2 machines)

    Hey bro ... When i connecting from LAN IP every thing working perfect when i trying from NET IP i get C9 ....

    Thanks
    Last edited by Eroticus; 03-12-11 at 03:32 PM.

  11. #11
    Valued Member whyt3boi is offline
    MemberRank
    Sep 2011 Join Date
    125Posts

    Re: [Tutorial]Making server public with Dynamic IP behind NAT (hosted on 2 machines)

    Bump ...

    Anything ?

  12. #12
    Valued Member hypnato is offline
    MemberRank
    Jan 2006 Join Date
    Outer LimitsLocation
    133Posts

    Re: [Tutorial]Making server public with Dynamic IP behind NAT (hosted on 2 machines)

    This theory does NOT work with the VSRO and certification files available.
    You have 4 options.
    1. Connect your server directly to the internet (no router) can bind files to WAN
    2. Use a router with a feature called ip passthrough, can bind files to WAN
    3. Use a VPN like hamachi can bind files to VPN address.
    4. Use LAN address and play locally.

  13. #13

    Re: [Tutorial]Making server public with Dynamic IP behind NAT (hosted on 2 machines)

    Thanks . But I have C9

  14. #14
    Extacy plýs !!! Eroticus is offline
    MemberRank
    Nov 2007 Join Date
    Israel <3Location
    500Posts

    Re: [Tutorial]Making server public with Dynamic IP behind NAT (hosted on 2 machines)

    Quote Originally Posted by enis1994 View Post
    Thanks . But I have C9
    Yep... Me too :( some solutions ?

  15. #15
    Novice adelnaim is offline
    MemberRank
    Dec 2011 Join Date
    2Posts

    Re: [Tutorial]Making server public with Dynamic IP behind NAT (hosted on 2 machines)

    ty Statick ip i have rawter 3Com and i have C9 how i can fix in rawter 3COM ty



Page 1 of 2 12 LastLast

Advertisement