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!

Ultimate Dekaron Server Tutorial

Status
Not open for further replies.
Banned
Banned
Joined
Apr 29, 2008
Messages
713
Reaction score
264
Ultimate Dekaron Server Tutorial (UPDATED 9/11/2010)

[Step 0: Basic Requirements]


  • Operating System: Windows XP/Server 2003
  • Processor: 1.6ghz Or Equivlent
  • Memory: Atleast 1024mb (4.5gb Recommended)
  • SQL Server: MSSQL 2000 w/ SP4
  • Disk Space: 30gb


[Step 1: Download]

SQL 2000:
SQL 2000 SP4:
Server File: OR

Client:



[Step 2: Install]

Run SQL Setup Select "SQL Server 2000 Components"

  • 1. Click "Install Database Server"
  • 2. Click Next
  • 3. Click Dot In Local Computer And Click Next
  • 4. Click Dot In "Create A New Instance of SQL Server, Or Install Client Tools" & Click Next
  • 5. Put Name And Company Click Next
  • 6. Click Yes To Agreement
  • 7. Click Dot In Server And Client Tools And Click Next
  • 8. Click Dot In Default At Top And Click Next
  • 9. Click Dot In Typical Click Next
  • 10. Click Dot In "Use The Same Account For Each Service. Auto Start SQL Server Service"
  • 11. Click Dot In "Use The Local System Account" Click Next
  • 12. Click Dot In "Mixed Mode.” Enter Password And Confirm Password Remember It, Username Is ALWAYS "sa" (Server Admin)
  • 13. Click Next And Install
  • 14. When Install Is Done Run SQL 2000 Service Pack 4 Installer (Not Making Guide On How To Install, Its Straight Forward)
  • 15. When Installed Restart PC So Server Starts

[Step 3: Restoring Database]

  • 1. Open Enterprise Manager (Start -> Programs -> Microsoft SQL Server -> Enterprise Manager)
  • 2. Console Root -> Microsoft SQL Servers -> SQL server Group ->
  • 3. Right Click (local) (windows) -> Edit SQL Server Registration Properties
  • 4. Click Dot In Use SQL Server Authentication -> Login Name (That You Gave At The Install) -> Leave Pass Empty -> Click Dot In Always Prompt For Login Name And Password *Then Add The Login And Pass That You Gave At The Install And Go To Databases
  • 5. Create A New Database, Name It "account" (Do This Again For "billing", "cash", And "character")
  • 6. After That, Right Click On "account" Database -> All Tasks -> Restore Database
  • 7. Click On "From Device" And Then Click On "Select Devices"
  • 8. Click Add And Then Choose The Destination Of The Backups To Restore Into SQL
  • 9. Press OK 2 Times To Continue, And Then Press The Options Tab
  • 10. Click Dot In "Force Restore Over Existing Database"
  • 11. Make Sure The Path Of The MDF And LDF Files Is Set To "C:\" (Example: C:\account.ldf)
  • 12. Press OK To Import The Database (Do This For All 4 Databases)
  • 13. Console Root -> Microsoft SQL Servers -> SQL server Group -> [local]
  • 14. Go To Security -> Login -> Right Click -> New Login
  • 15. Put Name "account" -> Click Dot In SQL Server Authentication
  • 16. Use "account" As Password -> Choose "master" As Default Database
  • 17. Go To Tab Database Access -> Click On Database "account, billing, cash, character"
  • 18. In Permit In Database Role Click On "db_owner" For Each Of The 4 Databases -> Click OK
    *If You Get An Error "User "account" Already Existed" Then Go To "account, billing, cash, character" -> Users And Delete The User "account" That Should Be There. And Then Do Steps 14-18 Again
  • 19. Go To Databases -> "account, billing, cash, character" -> Right Click -> Properties -> Permission Click All Of Them On User "account"
  • 20. Open SQL Query Analyzer And Run Query In Q-1 And Then In Q-2

Q-1
Code:
Use master;
Go
EXEC sp_addlinkedserver 'LSV_GHBILL','','MSDASQL',NULL,NULL,'DRIVER={SQL Server};SERVER=localhost;UID=;PWD=;'
EXEC sp_addlinkedserver 'LSV_DKRACNT','','MSDASQL',NULL,NULL,'DRIVER={SQL Server};SERVER=localhost;UID=;PWD=;'
EXEC sp_addlinkedserver 'DKRCASH','','MSDASQL',NULL,NULL,'DRIVER={SQL Server};SERVER=localhost;UID=;PWD=;'
EXEC sp_addlinkedserver 'LSV_DKRHELION','','MSDASQL',NULL,NULL,'DRIVER={SQL Server};SERVER=localhost;UID=;PWD=;'
EXEC sp_addlinkedserver 'LSV_DKRNUNVICE','','MSDASQL',NULL,NULL,'DRIVER={SQL Server};SERVER=localhost;UID=;PWD=;'
EXEC sp_addlinkedserver 'LSV_DKRQUNE','','MSDASQL',NULL,NULL,'DRIVER={SQL Server};SERVER=localhost;UID=;PWD=;'
EXEC sp_addlinkedserver 'LSV_DKRRONDOW','','MSDASQL',NULL,NULL,'DRIVER={SQL Server};SERVER=localhost;UID=;PWD=;'
EXEC sp_addlinkedserver 'LSV_DKRSIZ','','MSDASQL',NULL,NULL,'DRIVER={SQL Server};SERVER=localhost;UID=;PWD=;'
EXEC sp_addlinkedserver 'LSV_DKRTEST','','MSDASQL',NULL,NULL,'DRIVER={SQL Server};SERVER=localhost;UID=;PWD=;'
EXEC sp_addlinkedserver 'LSV_DKRZUTO','','MSDASQL',NULL,NULL,'DRIVER={SQL Server};SERVER=localhost;UID=;PWD=;'
EXEC sp_addlinkedserver 'LSV_DKRSTA','','MSDASQL',NULL,NULL,'DRIVER={SQL Server};SERVER=localhost;UID=;PWD=;'
EXEC sp_addlinkedserver 'DKRACCOUNT01','','MSDASQL',NULL,NULL,'DRIVER={SQL Server};SERVER=localhost;UID=;PWD=;'
Q-2
Code:
Use master;
Go
exec sp_serveroption 'LSV_GHBILL','rpc out','true'
exec sp_serveroption 'LSV_GHBILL','rpc','true'
exec sp_serveroption 'LSV_DKRACNT','rpc out','true'
exec sp_serveroption 'LSV_DKRACNT','rpc','true'
exec sp_serveroption 'DKRCASH','rpc out','true'
exec sp_serveroption 'DKRCASH','rpc','true'
exec sp_serveroption 'LSV_DKRHELION','rpc out','true'
exec sp_serveroption 'LSV_DKRHELION','rpc','true'
exec sp_serveroption 'LSV_DKRNUNVICE','rpc out','true'
exec sp_serveroption 'LSV_DKRNUNVICE','rpc','true'
exec sp_serveroption 'LSV_DKRQUNE','rpc out','true'
exec sp_serveroption 'LSV_DKRQUNE','rpc','true'
exec sp_serveroption 'LSV_DKRRONDOW','rpc out','true'
exec sp_serveroption 'LSV_DKRRONDOW','rpc','true'
exec sp_serveroption 'LSV_DKRSIZ','rpc out','true'
exec sp_serveroption 'LSV_DKRSIZ','rpc','true'
exec sp_serveroption 'LSV_DKRTEST','rpc out','true'
exec sp_serveroption 'LSV_DKRTEST','rpc','true'
exec sp_serveroption 'LSV_DKRZUTO','rpc out','true'
exec sp_serveroption 'LSV_DKRZUTO','rpc','true'
exec sp_serveroption 'LSV_DKRSTA','rpc out','true'
exec sp_serveroption 'LSV_DKRSTA','rpc','true'
exec sp_serveroption 'DKRACCOUNT01','rpc out','true'
exec sp_serveroption 'DKRACCOUNT01','rpc','true'
[Step 4: Adding Accounts]

  • 1. Open Enterprise Manager (Start -> Programs -> Microsoft SQL Server -> Enterprise Manager)
  • 2. Go To Tools -> SQL Query Analyzer (Login With Your "sa" Password)
  • 3. Go To And Generate A Hashed Password And Define It Below.
Code:
Use account;
Go
---Account Query By Warmonger---
DECLARE @UserNO varchar(16), @AccountID varchar(16), @Password  varchar(32), @Email varchar(50), @SecretA varchar(22), @SecretQ  varchar(22)
SET @UserNO= '09101410275532'
SET @AccountID = 'Account ID'
SET @Password = 'Account Password'
SET @Email = 'E-Mail'
SET @SecretA = 'Secret Answer'
SET @SecretQ = 'Secret Question'
 
Insert Into [USER_PROFILE] Values  (@UserNO,@AccountID,@Password,'801011000000','1','0','Y','01/01/2006  00:00:00',null,null,null,'000')
(NOTE: 09101410275532 Must Be Changed Atleast 1 Digit Per Account Added This Way)

[Step 5: System DSN]

  • 1. Start Data Sources (ODBC) Located In Windows XP At Start -> Control Panel -> Performance And Maintenance -> Administrative Tools -> Data Sources (ODBC), Go To System DSN Tab Then Click Add.
    (If You Cant Find It Try Going To Start -> Run -> Type In "odbcad32.exe" And Hit Enter)
  • 2. Select The SQL Server Driver (Its At The Bottom) And Click Finish. Choose "account" For Name And Your SQL Server "Name" For Server. Dont Use [local] It Doesnt Work. To Obtain It Put Your Mouse Over The Server Tray Icon, Right Click Go Into Open SQL Server Service Manager, Select The Server Name, And Right Click -> Copy. Paste That As Your Server Name
  • 3. Choose SQL Server Authentication -> Connect To SQL Server To Obtain Settings Use "account" As User, And "account" As Password Then Click Next
  • 4. Click Next Then Finish And OK.


[Step 6: Server INI Files]

All Ini Files Should Be Opened And Checked. Make Sure All IPs Are Set To "127.0.0.1" For Localhost First Time Server Testing, Make Sure All Database Logins Are Set Like So:
Code:
DATABASE_ACCOUNT	= account
DATABASE_PASSWORD	= account

For A Public Server You Should Set All IP's In Ini's To 127.0.0.1 EXCEPT! LoginServers IP. Which Should Be Set To Your External IP Which Can Be Found Here:

[Step 7: Starting Your Server]

  • 1. Dbmon
  • 2. Cast Server
  • 3. Login Server
  • 4. Msg Server
  • 5. Session Server
  • 6. Game Server

[Step 8: Edit Client To Connect To Server]

  • 1. Open Client Folder And Go Into Data -> Share
  • 2. Now Theres 2 Files That Control IP To Connect To (loginlist.csv & channellist.csv)
  • 3. Replace The IP In Both Of Them With "127.0.0.1" Then Save And Exit
  • 4. Load Up Client And Login And Play!

(This Is For Clients With Unpacked data.pak)

[How to Make Your Self A GM]
Login And Make A Character Logout And Go To SQL Server Analyzer (Read Step 4: 2 To Find If You Cant)
Code:
Use character;
Go
Update [user_character] Set character_name= '[GM]NAME' Where character_name= 'NAME'

[Dekaron Port Forwarding List]

  • 7880 - 7880 (TCP/UDP)
  • 50005 - 50005 (TCP/UDP)


[Item ID List]



[Steps To Backup Your Database]

  • 1. Open Enterprise Manager
  • 2. Click SQL Server -> SQL Server Group -> [local]
  • 3. Click Your Database (IE: account)
  • 4. Right Click Database -> All Tasks -> Backup Database
  • 5. Click Remove Of Any Names In Destination, If No Names Present Then Click Add
  • 6. Click The "..." And Type A Name
  • 7. For Example account_backup_09
  • 8. Click OK
  • 9. Go To Options Click Dot "Verify Upon Completion"
  • 10. Click OK... And Its Backed Up


[Common Errors And Problems Fixes]
Code:
>>CRITICAL ERROR : SP_LOGIN_FLAG_SET PROC CALL FAIL
This Happens Becuase Your "account" Login In Database Wasnt Made Right And Is Missing Permissions To 1 Or More Of The 4 Databases. To Fix Refer To Step 3 Sections 13-19.

Code:
File: .\Config\Provider.cpp, Line: 79
This Happenes Becuase Of Ram Or Virtual Memory. These Server Files Bank Into PageFile For Some Reason IDK Dont Ask Me Why But They Do (Chances Are Thier Old Files And Servers Needed A Way To Load Files And Keep Physical Ram Open For Connected Users). To Fix This Either 1. Buy More Ram Or 2. Increase Your PageFile.

How Do I Increase My PageFile?
Start -> Right Click "My Computer" -> Properties -> Advanced Tab -> First Settings Button Under "Performance" -> Advanced Tab Again -> Bottom Click "Change" Button -> Click On C: -> Then Click On "Custom Size" And Place 3000 In Each Box -> Then Click "Set" Then Ok And Ok Again. Restart Computer.

Code:
The client version does not match.
Open Version.ini In The Share Folder Of Both Client And Server. And Change Them So They Say The Exact Same Thing.

[Tools & Editors & Applications]
Here Is A List Of Tools I Use And You May Use For Easier, Smoother, And Faster Development.


  • (CSV Editor)
  • (Notepad With Syntax Highlighting)
  • (Hex Editor, Small, Sweet, And To The Point)
  • (A Disassembler Very Useful For Patchs Or Issues)


[Protecting Your Server]
Now That Your Server Is Online Before You Go Public With It, Its Always Wise To Secure It. In This Part I Will Show You How To Secure Your Server.


  • Download WIPFW
  • Extract And Copy The WIPFW Folder To Your Server Files
  • Next Open WIPFW.Config This Stores All The Rules For The Firewall
  • Erase Everything In The Config File And Add The Rules In Q-3
  • Save And Close
  • Run Install.bat Now The Firewall Is Active (May Require Reboot)


Q-3
Code:
# First Flush The Firewall Rules
-f flush
 
# Localhost Rules
add 100 allow all from any to any via lo*
 
# Prevent Denial Of Service Attacks On Listening Ports
add allow tcp from any to me 80 in limit src-addr 5
add allow udp from any to me 80 in limit src-addr 5
add allow tcp from any to me 7880 in limit src-addr 5
add allow udp from any to me 7880 in limit src-addr 5
add allow tcp from any to me 50005 in limit src-addr 5
add allow udp from any to me 50005 in limit src-addr 5
 
# Prevent Connections To Session Server
add deny tcp from any to me 10000 in
add deny udp from any to me 10000 in
 
# Prevent Connections To MSSQL Backport
add deny tcp from any to me 1433 in
add deny udp from any to me 1433 in

[Fixing The GM Hack]
Code:
http://forum.ragezone.com/f534/release-server-side-illegal-name-738390/

DON'T FORGET TO LIKE THIS POST!
 
Last edited by a moderator:
Banned
Banned
Joined
Apr 29, 2008
Messages
713
Reaction score
264
can i ask are these the latest files/?
just asking though

edit

aw this is the guide woot
sorry

Use the files cypher shared. They are good starter files. Im working on a set of official files that returns 0 errors. Making a client from original clients aswell. I hate using other peoples work when I know its not done right the first time. Will update later when im done.:thumbup:
 
be good to beat evils
Loyal Member
Joined
Mar 27, 2008
Messages
1,027
Reaction score
292
ok tnx,i am running my server now, i acn login i can register and i can play
may problem now is i cant make GM acocunts
i look into user table
i saw usertype = 1
i change it to 32 ^_^ i though the same with my ran server
but unfornately usertype 32 is not Gm still

how to make it to GM account.?? whats the user type
 
Banned
Banned
Joined
Apr 29, 2008
Messages
713
Reaction score
264
ok tnx,i am running my server now, i acn login i can register and i can play
may problem now is i cant make GM acocunts
i look into user table
i saw usertype = 1
i change it to 32 ^_^ i though the same with my ran server
but unfornately usertype 32 is not Gm still

how to make it to GM account.?? whats the user type

Just open table user_character and change your name from ramispo to [GM]ramispo. Pretty easy enough? :thumbup1:
 
be good to beat evils
Loyal Member
Joined
Mar 27, 2008
Messages
1,027
Reaction score
292
is this the one ??

Use character;
Go
Update [user_character] Set chatacter_name= '[GM]NAME' Where character_name='NAME'

oh i see wenks
if u have GM char ur account will be automatically be GM account??

i am using OsDS admin panel

tnx for reply
 
Banned
Banned
Joined
Apr 29, 2008
Messages
713
Reaction score
264
is this the one ??

Use character;
Go
Update [user_character] Set chatacter_name= '[GM]NAME' Where character_name='NAME'

oh i see wenks
if u have GM char ur account will be automatically be GM account??

i am using OsDS admin panel

tnx for reply

Yes just put [GM] infront of character name and he will be GM :eek:tt1: I wrote the query because imo querys are faster to execute then editing tables by hand. Also if you have 200+ characters on your server finding the right one can be hard. Hope this helps.
 
Banned
Banned
Joined
Apr 29, 2008
Messages
713
Reaction score
264
nyay!!! after i put [GM]
wierd happens after execute
character deleted in game, when i see in databse
it became
??????

Did you use any spaces? [GM]char not [GM] char. If you've done it right then you haveing problem that I dont know of :blink:
 
be good to beat evils
Loyal Member
Joined
Mar 27, 2008
Messages
1,027
Reaction score
292
yah i did it ryt, no spaces, query success
but when i look at the table the one that i make to Gm disappear
and when i login
i got error 600 300 T_T EDIT evrything is fine now but i encounter some bugs itemshop i think its on my databse see here
Warmonger - Ultimate Dekaron Server Tutorial - RaGEZONE Forums
 
Last edited:
Junior Spellweaver
Joined
Dec 28, 2008
Messages
131
Reaction score
6
yah i did it ryt, no spaces, query success
but when i look at the table the one that i make to Gm disappear
and when i login
i got error 600 300 T_T EDIT evrything is fine now but i encounter some bugs itemshop i think its on my databse see here
Warmonger - Ultimate Dekaron Server Tutorial - RaGEZONE Forums
hi you have dev' chars deletet so come the 600,300 error

restore a new account database

then must work again
 
Initiate Mage
Joined
Oct 21, 2009
Messages
3
Reaction score
0
Okay so, When trying to connect the server i always get this:

""DekaronServer Started
Connect messenger IP : [ 127.0.0.1 ]
>> [0DDG0858 ] [ 127.0.0.1 ]--- Server Connected ---
OnCONNECT >>>Serverindex 1
[ WARNING ] flash overflow ... unlink all program pointer
Connect session server IP: [ 127.0.0.1 ]
[PCMService] OnTimer_CheckUpdate<>
Broadcast: All game server is shutdown""

There also some error such as "Cannot place monster at map (...)
and "Action Table Error: Unknown CREATURE information"

I can't seems to understand the problem but a possible cause would be that during the step where i were supposed to give permission to "account" there wasn't one called account so i somehow bypassed it by changing the ini files name for "knight" which was on the list. could be it. But either way, If possible help would be greatly appreciated! Thanks!
 
Banned
Banned
Joined
Apr 29, 2008
Messages
713
Reaction score
264
Okay so, When trying to connect the server i always get this:

""DekaronServer Started
Connect messenger IP : [ 127.0.0.1 ]
>> [0DDG0858 ] [ 127.0.0.1 ]--- Server Connected ---
OnCONNECT >>>Serverindex 1
[ WARNING ] flash overflow ... unlink all program pointer
Connect session server IP: [ 127.0.0.1 ]
[PCMService] OnTimer_CheckUpdate<>
Broadcast: All game server is shutdown""

There also some error such as "Cannot place monster at map (...)
and "Action Table Error: Unknown CREATURE information"

I can't seems to understand the problem but a possible cause would be that during the step where i were supposed to give permission to "account" there wasn't one called account so i somehow bypassed it by changing the ini files name for "knight" which was on the list. could be it. But either way, If possible help would be greatly appreciated! Thanks!

All the users in each of the four databases can be deleted except dbo. Then you can create a new login in db through security -> logins. Be sure to setup your ODBC the same way with same ID and password. If all else fails re-read guide its the best guide atm on ragezone I dont know how it could get any clearer. Gl to you. :thumbup:
 
Initiate Mage
Joined
Jul 30, 2009
Messages
1
Reaction score
0
Ok so i've got the server to load up just find and all, but when i open the client and try to play a little box pops up with a bunch of funky letters.
Any idea what that means?
 
Banned
Banned
Joined
Apr 29, 2008
Messages
713
Reaction score
264
i want client

You could download the Dekaron Difference client from my FTP. I havent tried it out or anything but with a version change in the version config it should work fine. Feel free to download anything from my FTP it has unlimited bandwith and no wait time. Greetz. :thumbup:

Download:
 
Newbie Spellweaver
Joined
Nov 8, 2009
Messages
11
Reaction score
0
i have a question.... after done the server to reg u'll need a site of the server right? how to make it... sry if it's a dumb question :blushing:
 
Status
Not open for further replies.
Back
Top