Ultimate Dekaron Server Tutorial (UPDATED 9/11/2010)
[Step 0: Basic Requirements]
[Step 1: Download]
SQL 2000:
SQL 2000 SP4:
Server File:
Client:
[Step 2: Install]
Run SQL Setup Select "SQL Server 2000 Components"
[Step 3: Restoring Database]
Q-1
Q-2
[Step 4: Adding Accounts]
(NOTE: 09101410275532 Must Be Changed Atleast 1 Digit Per Account Added This Way)
[Step 5: System DSN]
[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:
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]
[Step 8: Edit Client To Connect To Server]
(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)
[Dekaron Port Forwarding List]
[Item ID List]
[Steps To Backup Your Database]
[Common Errors And Problems Fixes]
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.
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.
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.
[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.
Q-3
[Fixing The GM Hack]
[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:
You must be registered to see links
SQL 2000 SP4:
You must be registered to see links
Server File:
You must be registered to see links
OR
You must be registered to see links
Client:
-
You must be registered to see links
-
You must be registered to see links
-
You must be registered to see links
-
You must be registered to see links
-
You must be registered to see links
-
You must be registered to see links
-
You must be registered to see links
-
You must be registered to see links
-
You must be registered to see links
-
You must be registered to see links
-
You must be registered to see links
[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=;'
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'
- 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
You must be registered to see linksAnd 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')
[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:
You must be registered to see links
[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]
-
You must be registered to see links
[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
Code:
File: .\Config\Provider.cpp, Line: 79
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.
[Tools & Editors & Applications]
Here Is A List Of Tools I Use And You May Use For Easier, Smoother, And Faster Development.
-
You must be registered to see links(CSV Editor)
-
You must be registered to see links(Notepad With Syntax Highlighting)
-
You must be registered to see links(Hex Editor, Small, Sweet, And To The Point)
-
You must be registered to see links(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
You must be registered to see links
- 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: