Welcome!

Join our community of MMO enthusiasts and game developers! By registering, you'll gain access to discussions on the latest developments in MMO server files and collaborate with like-minded individuals. Join us today and unlock the potential of MMO server development!

Join Today!

Setting Up correctly OPTool (China Version)

Joined
Apr 1, 2010
Messages
19
Reaction score
1
PART 1 - get in touch with some basic knowledge

In this tutorial we'll find some script files like this one:

Code:
#DEFINE PRINT_ROW
        <ID>
		<INTEGER>
		<STRING>
		<STRING>
		<INTEGER>
#ENDDEFINE

PRINT_ROW 1, 0 "Some text will appear in the output program.", "Some text will tell you something", 0
#END
How can i comment my text in the script? is easy, you can use the ";" before your row, like this:
Code:
; Print Row system
; Author name, Data, Rev
#DEFINE PRINT_ROW
        <ID>
		<INTEGER>
		<STRING>
		<STRING>
		<INTEGER>
#ENDDEFINE

; PRINT_ROW is a row matrix that contains defined value (a, b, c, d, n+1), in our case will be (id, int, string, string, int)
; The value <ID> tells to the output program to add 1 row
; The value integer is an integer number, like 0 2 or maybe 58! It can be used for tell to the program that our service is running on some port
; These script files can also include other minor files, we can use the #INCLUDE Directive for include another file in our script
PRINT_ROW 1, 0 "Some text will appear in the output program.", "Some text will tell you something", 0

#END ; Leaving blank the end directive will cause the output service/program not working properly, be sure to add it at the end of the script.
Ok, that's the basic. Now we know how this files works.

PART 2 - Editing

In this part we will edit all the necessary files.

Go to -> /Data
-> IMPORT from \9Data\Hero and from ResSystem Folder located in your client
AbState.shn
ActiveSkill.shn
CharacterTitleData.shn
ChargedEffect.shn
ClassName.shn
DefaultCharacterData.txt
itemInfo.shn
ItemShopView.shn
ItemViewInfo.shn
KingdomQuest.shn
MapInfo.shn
MobInfo.shn
PassiveSkill.shn
PassiveSkillView.shn
QuestData.shn
QuestDialog.shn
RaceNameInfo.info

Go To -> \Data\serverinfo
OPEN ServerInfoList.otd
CHECK IF
SERVER_SCRIPTOR row contain "Data\serverinfo\OPToolServerInfo-CHR"
if not, edit and save it.

OPEN OPToolServerInfo-CHR.otd
EDIT it to your own if you have some service/port setted up differently:
Code:
; -----------------------------------
; Server info for OPTool
; 2015.06 By DreamEvil
; -----------------------------------
#DEFINE SERVER_INFO
		<ID>
		<STRING>
		<STRING>
		<STRING>
		<INTEGER>
		<INTEGER>
		<INTEGER>
#ENDDEFINE
; -----------------------------------
SERVER_INFO	-1,	" ",		"",		"",   			0, 0, 0
; -----------------------------------
; Account, AccountLog, Login services
; -----------------------------------
SERVER_INFO	1,	"_Villian_Account_DB",		"PG_Account_DB", 	"127.0.0.1",		9000, 0, 0
SERVER_INFO	2,	"_Villian_AccountLog_DB",	"PG_AccountLog_DB", 	"127.0.0.1",		9005, 0, 0
SERVER_INFO	0,	"_Villian_Login", 	"PG_Login",		"127.0.0.1",		9016, 0, 0
; -----------------------------------
SERVER_INFO	-1,	" ",		"",		"",			0, 0, 0
; -----------------------------------
; GameLog, Character, WM, Zone services
; -----------------------------------
; Service name displayed, Service Name, IP, Port
; -----------------------------------			
SERVER_INFO	6,	"_Villian_GameLog_00",	"PG_GameLog_00", 	"127.0.0.1",		9101, 0, 0
SERVER_INFO	5,	"_Villian_Character_00",	"PG_Character_00", 	"127.0.0.1",		9100, 0, 0
SERVER_INFO	4,	"_Villian_WorldManager_00",	"PG_WorldManager_00", 	"127.0.0.1",		9116, 0, 0
SERVER_INFO	7,	"_Villian_Zone00",		"Zone00"		"127.0.0.1",		9121, 0, 0
SERVER_INFO	7,	"_Villian_Zone01",		"Zone01"		"127.0.0.1",		9123, 0, 1
SERVER_INFO	7,	"_Villian_Zone02",		"Zone02"		"127.0.0.1",		9125, 0, 2
SERVER_INFO	7,	"_Villian_Zone03",		"Zone03"		"127.0.0.1",		9127, 0, 3
SERVER_INFO	7,	"_Villian_Zone04",		"Zone04"		"127.0.0.1",		9129, 0, 4
; -----------------------------------
#INCLUDE "OPToolServerInfo-Common"
; -----------------------------------
#END

OPEN OPToolServerInfo-Common.otd
Code:
; -----------------------------------
; Server info common for OPTool
; 2015.06 By DreamEvil
; -----------------------------------
; DEFINE PART
; -----------------------------------	
#DEFINE SERVER_LIST
		<INTEGER>
		<INTEGER>
		<INTEGER>
		<STRING>
		<STRING>
#ENDDEFINE
; -----------------------------------
; This is not really necessary
; -----------------------------------		
; DEFINE PATCH_NOTICE_URL
;		 STRING
; ENDDEFINE
; -----------------------------------
; This is not really necessary
; -----------------------------------	
; DEFINE LAUNCHER_NOTICE_URL
;		 STRING
; ENDDEFINE
; -----------------------------------	
#DEFINE NET_ACCOUNT
		<STRING>
		<STRING>
		<STRING>
		<STRING>
#ENDDEFINE
; -----------------------------------	
#DEFINE ODBC_DATA_SOURCE
		<STRING>
		<STRING>
#ENDDEFINE
; -----------------------------------	
#DEFINE ODBC_INFO
		<STRING>
		<INTEGER>
		<INTEGER>
		<INTEGER>
		<STRING>
		<STRING>
#ENDDEFINE
; -----------------------------------
; Data Part	
; -----------------------------------							
SERVER_LIST 0, 0, 0, "YourServerName",  "YourServerName"
; -----------------------------------
; This is not really necessary
; ----------------------------------- 
; PATCH_NOTICE_URL	""
; LAUNCHER_NOTICE_URL	""
; -----------------------------------
; INFO For NET_ACCOUNT: Service Name, IP, UID = YourLoginID, PASSWORD= YourPassword
; -----------------------------------					
NET_ACCOUNT	"PG_LoginServer",		"127.0.0.1",		"UID",	"PASSWORD"
NET_ACCOUNT	"PG_Account_DB",		"127.0.0.1",		"UID",	"PASSWORD"
NET_ACCOUNT	"PG_AccountLog_DB",  	"127.0.0.1",		"UID",	"PASSWORD"
; -----------------------------------
NET_ACCOUNT	"PG_Character_00",	"127.0.0.1",		"UID",	"PASSWORD"
NET_ACCOUNT	"PG_GameLog_00",	"127.0.0.1",		"UID",	"PASSWORD"
NET_ACCOUNT	"PG_WorldManager_00",	"127.0.0.1",		"UID",	"PASSWORD"
NET_ACCOUNT     "PG_Zone_00",		"127.0.0.1",		"UID",	"PASSWORD"
NET_ACCOUNT     "PG_Zone_01",		"127.0.0.1",		"UID",	"PASSWORD"
NET_ACCOUNT     "PG_Zone_02",		"127.0.0.1",		"UID",	"PASSWORD"
NET_ACCOUNT     "PG_Zone_03",		"127.0.0.1",		"UID",	"PASSWORD"
NET_ACCOUNT     "PG_Zone_04",		"127.0.0.1",		"UID",	"PASSWORD"
; -----------------------------------
; ODBC PART , Server="YourServerInstance"
; -----------------------------------
ODBC_DATA_SOURCE "Account",	"DSN=Account,	Description=Account,	Server=YourServerInstance\SQLEXPRESS,"
ODBC_DATA_SOURCE "AccountLog",	"DSN=AccountLog,	Description=AccountLog,	Server=YourServerInstance\SQLEXPRESS,"
ODBC_DATA_SOURCE "OperatorTool",	"DSN=OperatorTool,	Description=OperatorTool,	Server=YourServerInstance\SQLEXPRESS,"
ODBC_DATA_SOURCE "StatisticsData",	"DSN=StatisticsData,	Description=StatisticsData,	Server=YourServerInstance\SQLEXPRESS,"
ODBC_DATA_SOURCE "World00_Character",	"DSN=World00_Character,	Description=World00_Character,	ServerYourServerInstance\SQLEXPRESS,"
ODBC_DATA_SOURCE "World00_GameLog",	"DSN=World00_GameLog,	Description=World00_GameLog,	Server=YourServerInstance\SQLEXPRESS,"
; -----------------------------------
ODBC_INFO "Account",	0, 0, 0, "DSN=Account;    	UID=uid;	PWD=PASSWORD", "USE Account; SET LOCK_TIMEOUT 5000"
ODBC_INFO "AccountLog",	0, 0, 1, "DSN=AccountLog;    UID=uid;	PWD=PASSWORD", "USE AccountLog; SET LOCK_TIMEOUT 5000"
ODBC_INFO "OperatorTool",	0, 0, 5, "DSN=OperatorTool;    	UID=uid;	PWD=PASSWORD", "USE OperatorTool; SET LOCK_TIMEOUT 5000"
ODBC_INFO "StatisticsData",	0, 0, 6, "DSN=StatisticsData;    	UID=uid;	PWD=PASSWORD", "USE StatisticsData; SET LOCK_TIMEOUT 5000"
ODBC_INFO "World00_Character",	0, 0, 2, "DSN=World00_Character;    	UID=uid;	PWD=PASSWORD", "USE World00_Character; SET LOCK_TIMEOUT 5000"
ODBC_INFO "World00_GameLog",	0, 0, 3, "DSN=World00_GameLog;    	UID=uid;	PWD=PASSWORD", "USE World00_GameLog; SET LOCK_TIMEOUT 5000"
; -----------------------------------
#END
If you have do it correctly you can run "OpTool_CH_20121127" and login in your OPTool with the login credential Provided in the Database table.
With this tutorial you can easly get your optool fully working or almost.

PART 3 - Reversing
GO TO /Data
ADD a Folder named "ServerNotifyScheduler"
ADD a file named "NotifySchedule" in that folder.
Code:
; -------------------------
; Notify Scheduler Scriptor (Example for try to fix this function)
; 2015.06 By DreamEvil
; -------------------------


; -------------------------
; Define Section
; -------------------------

#DEFINE NOTIFY_SCHEDULE
; I need to define all the value neeeded
#ENDDEFINE

; ------------------
; Data Section
; ------------------
; Now you can start developing... have fun!
#END
 
Last edited:
Initiate Mage
Joined
Jul 30, 2014
Messages
1
Reaction score
0
Re: [Tutorial] Setting Up correctly OPTool (China Version)

Awesome tutorial.

Even though im getting this error:

Vithril - Setting Up correctly OPTool (China Version) - RaGEZONE Forums


Im getting the login date info and i can check if the user is ingame.. but thats it. cant do anything else.
 
Joined
Apr 1, 2010
Messages
19
Reaction score
1
Re: [Tutorial] Setting Up correctly OPTool (China Version)

Probably you made some mistakes in the DB Connect section.
 
Initiate Mage
Joined
Oct 19, 2015
Messages
12
Reaction score
0
Re: [Tutorial] Setting Up correctly OPTool (China Version)

How i can open ServerInfoList.otd?
 
Initiate Mage
Joined
Nov 7, 2011
Messages
12
Reaction score
0
Re: [Tutorial] Setting Up correctly OPTool (China Version)

Is it normal that i only can see poop if i open these files with SHN editor ? Unbenannt.PNG - Setting Up correctly OPTool (China Version) - RaGEZONE Forums
 

Attachments

You must be registered for see attachments list
Joined
Jun 5, 2009
Messages
959
Reaction score
235
Re: [Tutorial] Setting Up correctly OPTool (China Version)

Is it normal that i only can see poop if i open these files with SHN editor ?View attachment 156670

No it should not my good sir. As you have made this issue known to me, I have taken the time to fix it for you. Please use the newest version of the SHN Editor which I just released, with this bug fixed.

You can find the newest version here: http://forum.ragezone.com/f593/release-shn-editor-release-1043822/

Or just download it from here if you're lazy:
 
Last edited:
Initiate Mage
Joined
Nov 7, 2011
Messages
12
Reaction score
0
Re: [Tutorial] Setting Up correctly OPTool (China Version)

Thank you :)
 
Initiate Mage
Joined
Nov 7, 2011
Messages
12
Reaction score
0
Re: [Tutorial] Setting Up correctly OPTool (China Version)

test.PNG - Setting Up correctly OPTool (China Version) - RaGEZONE Forums

I always get this error i dont know what i did wrong here
 

Attachments

You must be registered for see attachments list
Back
Top