- Joined
- Jul 12, 2011
- Messages
- 386
- Reaction score
- 88
OK, so many have tried and many have failed to setup behind a router. Does anyone know why......... Yes i do. Basically, everyone has been setting up the files incorrectlly for years.
First, stop thinking that this is ment to be ran on one system. Now, with that in mind, think about what each part of the sysytem is. we have the login system, the world and 3 - 5 zones (mattering on whatfiles your using). You will need a congig sheet for each of these sections.
Now, after all of that you are probably lost wondering how you use 6 differant config sheets. Ok, you will find a line in the base config of the exe, that referse to the main config.
pulled from one of my zones
notice it looks to a config i names for just that zone.
each part wil have to be edited so it reads the proper config. you should have 5 - 7 differant serverinfo configs made at this point and all the exe configs edited.
ServerInfo_Login.txt
ServerInfo_World.txt
ServerInfoZone00.txt
ServerInfoZone01.txt
ServerInfoZone02.txt
ServerInfoZone03.txt
each one needs a place to listen and a place to find other server exe's.
the listening port ipaddress is where it will listen for information.
The IP address is where is sends (whatever is requesting) to find the service.
So, in the case of being behind a router the listen port address is the local address within the router network. and the ip address would be your ipaddress. Now in your router you will have to forward the ports for the game or use the dmz. i would go for the port forwarding myself so not to open to many. you will also need to open ports in the windows firewall for those same ports that are needed by the game.
good luck and enjoy setup without himachi.
I had to figure this out for my test server cause i hate hamachi and wanted people to log in for testing the server.
First, stop thinking that this is ment to be ran on one system. Now, with that in mind, think about what each part of the sysytem is. we have the login system, the world and 3 - 5 zones (mattering on whatfiles your using). You will need a congig sheet for each of these sections.
Now, after all of that you are probably lost wondering how you use 6 differant config sheets. Ok, you will find a line in the base config of the exe, that referse to the main config.
pulled from one of my zones
Code:
; [Service name] [Display name] [Server ID] [World No] [Zone No]
MY_SERVER "Zone_Server00", "_OS_Zone Server00", 6, 0, 0
[COLOR="#B22222"]#include "../9Data/ServerInfo/ServerInfoZone00.txt"[/COLOR]
notice it looks to a config i names for just that zone.
each part wil have to be edited so it reads the proper config. you should have 5 - 7 differant serverinfo configs made at this point and all the exe configs edited.
ServerInfo_Login.txt
ServerInfo_World.txt
ServerInfoZone00.txt
ServerInfoZone01.txt
ServerInfoZone02.txt
ServerInfoZone03.txt
each one needs a place to listen and a place to find other server exe's.
Code:
;
; Server info for RELEASE SERVICE
; 2007.4 By Blacksky
;
;-----------------------------------------------------------------------------------
; DEFINE SCRIPTOR COMMAND
;-----------------------------------------------------------------------------------
#DEFINE WORLD_NAME
<INTEGER> ; World No
<STRING> ; Name
<STRING> ; Data path
#ENDDEFINE
#DEFINE SERVER_INFO ; Listen socket information
<STRING> ; Name
<INTEGER> ; Server ID
<INTEGER> ; Server World No
<INTEGER> ; Server Zone No
<INTEGER> ; From Server ID
<STRING> ; IP Address == '' then Use my IP Address
<INTEGER> ; Port Number
<INTEGER> ; Backlog Count == 0 then Use SOMAXCONN
<INTEGER> ; Maximum of accept socket
#ENDDEFINE
#DEFINE ODBC_INFO
<STRING> ; DB Name
<INTEGER> ; DB ID
<INTEGER> ; World No
<STRING> ; ODBC Connection info
<STRING> ; DB Startup command
#ENDDEFINE
;-----------------------------------------------------------------------------------
; Server ID
;-----------------------------------------------------------------------------------
; 0 SERVER_ID_DB_ACCOUNT
; 1 SERVER_ID_DB_ACCOUNTLOG
; 2 SERVER_ID_DB_CHARACTER
; 3 SERVER_ID_DB_GAMELOG
; 4 SERVER_ID_LOGIN
; 5 SERVER_ID_WORLDMANAGER
; 6 SERVER_ID_ZONE
; 7 SERVER_ID_PATCH
; 8 SERVER_ID_OPTOOL
; 9 SERVER_ID_WEB
;10 SERVER_ID_UNKNOWN
;19 SERVER_ID_LAUNCHER
;20 SERVER_ID_CLIENT
;-----------------------------------------------------------------------------------
; DB ID
;-----------------------------------------------------------------------------------
;define DB_ID_ACCOUNT 0
;define DB_ID_ACCOUNTLOG 1
;define DB_ID_STATICSTICS 2
;define DB_ID_OPTOOL_LOG 3
;define DB_ID_CHARACTER 10
;define DB_ID_GAMELOG 11
;-----------------------------------------------------------------------------------
; DEFINE WORLD NAME
;-----------------------------------------------------------------------------------
WORLD_NAME 0, "TEVA", "../9Data/Shine"
;WORLD_NAME 1, "APOLINE", "../9Data/apoline"
;WORLD_NAME 2, "BIJOU", "../9Data/Bijou"
;WORLD_NAME 3, "EPITH", "../9Data/Bijou"
;WORLD_NAME 4, "CYPION", "../9Data/Bijou"
;WORLD_NAME 5, "LEGEL", "../9Data/Bijou"
;WORLD_NAME 6, "BIJOU", "../9Data/Bijou"
;WORLD_NAME 7, "BIJOU", "../9Data/Bijou"
;-----------------------------------------------------------------------------------
; CJC SERVER INFO
;-----------------------------------------------------------------------------------
;
; [ID] = Server ID, [W] = World No, [Z] = Zone No, [F] = From Server ID
;
; [Name] [ID, W, Z, F] [IP] [Port] [Backlog] [Maximum of accept socket]
;
; Patch server ---------------------------------------------------------------
;SERVER_INFO "Patch_Manager", 7, 0, 0,19, "71.88.176.141", 2500, 10, 2100 ; From Launcher/OPTOOL/PatchDataServer
;SERVER_INFO "Patch_Server1", 7, 1, 0,19, "71.88.176.141", 2502, 10, 2100 ; From Launcher/OPTOOL/PatchDataServer
; DB,Login server ------------------------------------------------------------
SERVER_INFO "Account_DB", 0, 0, 0, 0, "[listening port ipaddress]", 9000, 1, 100 ; where the service listens
SERVER_INFO "AccountLog_DB", 1, 0, 0, 0, "[listening port ipaddress]", 9005, 1, 100 ; where the service listens
SERVER_INFO "Login_Server", 4, 0, 0,20, "[listening port ipaddress]", 9010, 10, 200 ; where the service listens
SERVER_INFO "Login_Server", 4, 0, 0, 5, "[listening port ipaddress]", 9015, 1, 50 ; where the service listens
SERVER_INFO "Login_Server", 4, 0, 0, 8, "[listening port ipaddress]", 9016, 1, 30 ;where the service listens (for OpTool)
; World #0 -------------------------------------------------------------------
SERVER_INFO "PG_Char_DB", 2, 0, 0, 0, "[[IP address]", 9100, 1, 100 ; From ALL
SERVER_INFO "PG_GameLog_DB", 3, 0, 0, 0, "[[IP address]", 9101, 1, 100 ; where to sent the service
SERVER_INFO "PG_World_Manager_Server", 5, 0, 0,20, "[IP address]", 9110, 1, 6000 ; where to sent the service
SERVER_INFO "PG_World_Manager_Server", 5, 0, 0, 6, "[IP address]", 9115, 1, 6000 ; where to sent the service
SERVER_INFO "PG_World_Manager_Server", 5, 0, 0, 8, "[listening port ipaddress]", 9116, 1, 5 ;where to sent the service (for OpTool)
; Zone 0 ---------------------------------------------------------------------
SERVER_INFO "PG_Zone_00", 6, 0, 0,20, "[IP address]", 9120, 10, 2000 ; where to sent the service
SERVER_INFO "PG_Zone_00", 6, 0, 0, 8, "[[IP address", 9121, 1, 5 ; where to sent the service (for OpTool)
; Zone 1 ---------------------------------------------------------------------
SERVER_INFO "PG_Zone_01", 6, 0, 1,20, "[IP address]", 9122, 10, 2000 ; where to sent the service
SERVER_INFO "PG_Zone_01", 6, 0, 1, 8, "[IP address]", 9123, 1, 5 ; where to sent the service (for OpTool)
; Zone 2 ---------------------------------------------------------------------
SERVER_INFO "PG_Zone_02", 6, 0, 2,20, "[IP address]", 9124, 10, 2000 ; where to sent the service
SERVER_INFO "PG_Zone_02", 6, 0, 2, 8, "[IP address]", 9125, 1, 5 ; where to sent the service (for OpTool)
; Zone 3 ---------------------------------------------------------------------
SERVER_INFO "PG_Zone_03", 6, 0, 3,20, "[IP address]", 9126, 10, 2000 ; where to sent the service
SERVER_INFO "PG_Zone_03", 6, 0, 3, 8, "[IP address]", 9127, 1, 5 ; where to sent the service (for OpTool)
;-----------------------------------------------------------------------------------
; ODBC INFO
;-----------------------------------------------------------------------------------
; NAME nDBID nWorldNo Connection INFO Startup Command
;ODBC_INFO "Account", 0, 0, "DSN=Account; UID=sa; PWD=[password]", "USE Account; SET LOCK_TIMEOUT 5000" ; world
ODBC_INFO "AccountLog", 1, 0, "DSN=AccountLog; UID=sa; PWD=[password]", "USE AccountLog; SET LOCK_TIMEOUT 5000" ;world
ODBC_INFO "Statistics", 2, 0, "DSN=Statistics; UID=sa; PWD=[password]", "USE StatisticsData; SET LOCK_TIMEOUT 5000" ; acccount db
ODBC_INFO "OPTool", 3, 0, "DSN=OPTool; UID=sa; PWD=[password]", "USE OperatorTool; SET LOCK_TIMEOUT 5000" ; account db
ODBC_INFO "w00_Character", 10, 0, "DSN=Character; UID=sa; PWD=[password]", "USE w00_Character; SET LOCK_TIMEOUT 5000" ;world
ODBC_INFO "w00_GameLog", 11, 0, "DSN=GameLog; UID=sa; PWD=[password]", "USE w00_GameLog; SET LOCK_TIMEOUT 5000" ; world
#END
the listening port ipaddress is where it will listen for information.
The IP address is where is sends (whatever is requesting) to find the service.
So, in the case of being behind a router the listen port address is the local address within the router network. and the ip address would be your ipaddress. Now in your router you will have to forward the ports for the game or use the dmz. i would go for the port forwarding myself so not to open to many. you will also need to open ports in the windows firewall for those same ports that are needed by the game.
good luck and enjoy setup without himachi.
I had to figure this out for my test server cause i hate hamachi and wanted people to log in for testing the server.

