If i say something not correct or not like this way just pm or reply for i can correct it !
Some known errors :
- pCast is null = If you got this error: "\Process\Cast\Server\Process\Guild\Initialize \OnI sGuildMemberACK.cpp<94
: OnIsGuildMemberACK : pCast is NULL"
Go in your cast server config and dekaronserver config , in both you got on line saying "CAST_SERVER_ID = 1100 " so in both just make "CAST_SERVER_ID = 20 ". It should work now
: OnIsGuildMemberACK : pCast is NULL"
Go in your cast server config and dekaronserver config , in both you got on line saying "CAST_SERVER_ID = 1100 " so in both just make "CAST_SERVER_ID = 20 ". It should work now
- Cast Server A9 crash :
Go in your SQL Server configuration and go in Protocolls -> TCP/IP and check if is Disabled.
For fix just change it to Enabled and restart machine !
For fix just change it to Enabled and restart machine !
- Session is null :
For this problem go in ur dekaronserver config and session config (also login too) and change port to 10001 if it was 10000 can be hackable and fatal for people have ur servers . It works with 10001 but you need to portfoward and in this 3 put that port and same server id.
- Dekaron Server crash :
If the error was "\... Provider etc " that means you dont have RAM to load the files so here is a solution :
1. Click Start.
2. Select Control Panel.
3. Select System.
4. Click the Advanced tab.
5. In the Performance region, select Settings.
6. Click the Advanced and Virtual memory click on Change button.
7. Check the box saying "Custom size" and add the gb that u wanna take from disk C:/ or D:/
8. Click Apply and Reboot
1. Click Start.
2. Select Control Panel.
3. Select System.
4. Click the Advanced tab.
5. In the Performance region, select Settings.
6. Click the Advanced and Virtual memory click on Change button.
7. Check the box saying "Custom size" and add the gb that u wanna take from disk C:/ or D:/
8. Click Apply and Reboot
- Dekaron Server crash at loading skills :
1. Click Start.
2. Select Control Panel.
3. Select System.
4. Click the Advanced tab.
5. In the Performance region, select Settings.
6. Click the Data Execute tab in the dialog box that opens.
7. Select Turn on DEP for all programs and services except for those I select.
8. Click Add.
9. The open dialog box will open. Browse and select your application.
10. Click Open
11. Click Apply
12. Click Ok
13. Reboot
2. Select Control Panel.
3. Select System.
4. Click the Advanced tab.
5. In the Performance region, select Settings.
6. Click the Data Execute tab in the dialog box that opens.
7. Select Turn on DEP for all programs and services except for those I select.
8. Click Add.
9. The open dialog box will open. Browse and select your application.
10. Click Open
11. Click Apply
12. Click Ok
13. Reboot
- When you try to login in A9 and it says "Invalid ID":
1. Go in your data\script\localdefine\local and open it
2. If it was global change it to korea , or if it was korea change it to global just try this 2 ways (it depends in your databases too )
3. Go in your SQL Server
4. New Querry
5. Paste this
5. Try login this time
2. If it was global change it to korea , or if it was korea change it to global just try this 2 ways (it depends in your databases too )
3. Go in your SQL Server
4. New Querry
5. Paste this
USE [Account]
GO
/****** Object: StoredProcedure [dbo].[SP_ACC_LOGIN] Script Date: 04/05/2014 05:32:20 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
/************************************************** ****************************
? ? : dbo.SP_ACC_LOGIN
? ? : ?? ???
???? :
???? : @sp_rtn
0 : ??.
-1 : ????? ???.
-2 : ????? ???? ???.
-3 : ?????? ?????? ??? ?? ??.
-4 : ???? ??? ???. (?? ????)
-5 : ????? ?? ??.
-6 : ??? ??? ????.
-7 : ???? ???? ??.
-8 : ?????.
-10 : Update Lock ??(DB ??)
-11 : ??IP??.
-12 : ???? ?? 5??? ??? ?? ?? IP.
-20 : DB Error
-21 : ???? ????
-22 : ???? ???
Ver Date Author Description
--------- ---------- -------------- ------------------------------------
1.0 2004-10-11 ??? 1. ?? ???
1.1 2005-09-07 ??? 1. ??IP?? ??? ??.
1.2 2005-09-12 ??? 1. IP????(@ip_addr_tag) OUTPUT???? ??.
(PC? IP??? ???? ?? ?)
1.3 2005-11-14 ??? 1. ????????Key, PC?????,
PC? ???? ??.
2. PC? IP???? ??(FN_IsPCBangIP)?
SP_GET_PCBANG_INFO_R? ??.
1.4 2006-01-04 ??? 1. ???? ???? ??? ??
1.5 2006-01-11 ??? 1. ?? ????(-4) : ???? (RollBack, Return ??)
1.6 2007.02.05 CHOI JI HWAN 1. modify @user_pwd parameter.
before : varchar(20)
after : varchar(64)
1.7 2007.02.14 CHOI JI HWAN 1. ????? ip ?? ?? ??.
2. ???? MD5 ???
@user_pwd : VARCHAR(20) -> VARCHAR(64)
1.8 2007.02.15 Han JI wook 1. User_ID -> Lower Casting
1.9 2007.02.20 Han JI wook 1. User_ID -> Lower Casting Cancel
2.0 2007.04.04 Choi JI Hwan 1. Change @sp_rtn value
Invalid passowrd : old=-2 >> new=-1
2.1 2007.04.17 Han JI Wook 1. Add Password Change Check
2.2 2007.04.24 CHOI JI HWAN 1. ???? ???? ??? ? ??? 5??? ???? ?? IP?? ???? ??????.
2.3 2007.04.26 CHOI JI HWAN 1. IP? ?? ?????? 30??? ??.
************************************************** ****************************/
ALTER PROCEDURE [dbo].[SP_ACC_LOGIN]
@user_id varchar(40) , -- ????ID
@user_pwd varchar(64) , -- ???? ????
@login_flag int , -- ??????
@user_ip_addr varbinary(4) , -- ???IP??
@user_no varchar(14) OUTPUT , -- ????????
@session_id int OUTPUT , -- ????ID
@teen_tag int OUTPUT , -- ?????? (0:18???, 1:18???)
@ip_addr_tag int OUTPUT , -- IP??????(0:??, 1:PC?)
@o_ac_conn_no char(20) OUTPUT , -- ????????Key -> ??
@o_pcbang_no varchar(14) OUTPUT , -- PC? ????. -> ( 2005-11-11 )??
@o_pc_agency_no varchar(5) OUTPUT , -- PC? ???? -> ??
@a int OUTPUT ,
@b int OUTPUT ,
@sp_rtn int OUTPUT -- ??? ?? (0:??)
AS
DECLARE @v_user_pwd varchar(64)
DECLARE @v_login_flag int
DECLARE @v_user_no varchar(14)
DECLARE @v_resident_no varchar(13)
DECLARE @v_login_tag char(1)
DECLARE @v_user_age int
DECLARE @ipt_time datetime
DECLARE @conn_rtn int
DECLARE @ip_tag int
DECLARE @company_ip varbinary(3)
DECLARE @v_server_id varchar(3)
DECLARE @v_user_sex varchar(1)
DECLARE @rowcnt int
--// ????
DECLARE @o_p_step_no int --????
DECLARE @o_p_reason_sort varchar(2) --??????
DECLARE @o_p_expire_time datetime --??????
DECLARE @v_lo_block_tag varchar(1) --???????
DECLARE @o_wr_block_tag varchar(1) --??????
DECLARE @v_in_sp_rtn int
DECLARE @v_bigint_ip bigint
DECLARE @v_login_failure_count int
DECLARE @v_onlineIdCount int
BEGIN
SET LOCK_TIMEOUT 1000
SET @v_bigint_ip = CAST(@user_ip_addr as BIGINT)
SET @ipt_time = GetDate()
SET @conn_rtn = 0
SET @user_no = '0000000000'
SET @session_id = 0
SET @teen_tag = 0
SET @ip_addr_tag = 0
SET @sp_rtn = 0
SET @o_ac_conn_no = '0000000000000000'
SET @o_pcbang_no = ''
SET @o_pc_agency_no = ''
SET @a = 0
SET @b = 0
--************************************
-- ?????? IP?? Start
--************************************
SELECT @ip_tag = dbo.FN_IsBlockIP( @user_ip_addr )
IF @ip_tag = 1
BEGIN
SET @sp_rtn = -6
RETURN
END
--************************************
-- ?????? IP?? End
--************************************
--************************************
-- ??IP ?? ?? (2005.08.17 - Hanjiwook)
--************************************
IF dbo.FN_ExistBanIP(@user_ip_addr) = 1
BEGIN
SET @sp_rtn = -11
RETURN
END
--************************************************** **********
-- ??? ?IP?? 5??? ??? ???? ??? ??.(CHOI JI HWAN - 2007.04.24)
--************************************************** **********
EXEC dbo.SP_LOGIN_FAILURE_LOG_GetCountByIp @ipt_time
, @user_ip_addr
, @v_login_failure_count OUTPUT
, @v_in_sp_rtn OUTPUT
IF ( @v_login_failure_count >= 5 )
BEGIN
SET @sp_rtn = -12
RETURN
END
--************************************************** **********
-- IP? ?? ?????? 30??? ??. (CHOI JI HWAN - 2007.04.26)
--************************************************** **********
SELECT @v_onlineIdCount = COUNT(*)
FROM dbo.user_profile WITH(NOLOCK)
WHERE login_flag > 0
AND user_ip_addr = @user_ip_addr
--AND login_tag = 'Y'
IF ( @v_onlineIdCount >= 30 )
BEGIN
SET @sp_rtn = -13
RETURN
END
--************************************************** **********
BEGIN TRANSACTION
--// Login_Tag
--// 'Y' : normal, 'P' : Password Not Change
SELECT @v_user_no = user_no,
@v_user_pwd = isnull(user_pwd, ''),
@v_login_flag = login_flag,
@v_login_tag = login_tag,
@v_resident_no = resident_no
FROM dbo.user_profile WITH(UPDLOCK)
WHERE user_id = @user_id
AND login_tag IN ('Y', 'P')
SET @rowcnt = @@ROWCOUNT
IF @@ERROR <> 0
BEGIN
ROLLBACK TRANSACTION
SET @sp_rtn = -10
RETURN
END
--************************************
-- ???? Check
--************************************
--// 1. ???? ?? ??
IF @rowcnt = 0
BEGIN
ROLLBACK TRANSACTION
SET @sp_rtn = -1 --old : -1
RETURN
END
--IF ISNULL(dbo.FN_CertifyIpPwd( @user_ip_addr, @user_pwd ), 0) <> 1 --GM : no password check.
--BEGIN
-- --// 2. ???? ???? ??
-- SELECT @user_pwd = isnull(@user_pwd, '')
-- IF @v_user_pwd <> @user_pwd or @user_pwd = ''
-- BEGIN
-- ROLLBACK TRANSACTION
-- SET @sp_rtn = -1 --old : -2
-- EXEC dbo.SP_LOGIN_FAILURE_LOG_C @user_ip_addr, @user_id, @user_pwd, @v_user_no, @login_flag, @sp_rtn, @v_in_sp_rtn OUTPUT
-- RETURN
-- END
-- --// 3.1 2006.05.01 ?? ??????? ???? ?? ?? ('P')
-- --// 3.2 ?????? ???? ???? login_tag? 'Y'? ???.
-- IF @v_login_tag = 'P'
-- BEGIN
-- ROLLBACK TRANSACTION
-- SET @sp_rtn = -22
-- RETURN
-- END
--END
/*
--// 3.1 ?????? ?????? ????? ??
--// 3.2 ?????? ???????? login_tag? 'Y'? ???.
IF @v_login_tag = 'C'
BEGIN
ROLLBACK TRANSACTION
SET @sp_rtn = -3
RETURN
END
*/
--// 4. Dont forget fix
--IF ( (@v_login_flag <> 0) AND (@v_login_flag = @login_flag) ) BEGIN
-- --// ROLLBACK TRANSACTION
-- SET @session_id = @v_login_flag
-- SET @sp_rtn = -4
-- --// RETURN
--END
IF ( (@v_login_flag <> 0) AND (@v_login_flag <> @login_flag) ) BEGIN
ROLLBACK TRANSACTION
SET @session_id = @v_login_flag
SET @sp_rtn = -4
RETURN
END
--************************************
-- ?????(????) ??
--************************************
EXEC dbo.MB_USR_PUN_CheckBlock_R @v_user_no , --????
@o_p_step_no OUTPUT, --????
@o_p_reason_sort OUTPUT, --??????
@o_p_expire_time OUTPUT, --??????
@v_lo_block_tag OUTPUT, --???????(Y=??, N=?????)
@o_wr_block_tag OUTPUT, --????(????? ????)
@v_in_sp_rtn OUTPUT --????(0:??)
IF @v_in_sp_rtn <> 0 OR @@Error <> 0
BEGIN
ROLLBACK TRANSACTION
SET @sp_rtn = -7
RETURN
END
IF Upper(@v_lo_block_tag) = 'Y' --?????? ??.
BEGIN
ROLLBACK TRANSACTION
SET @sp_rtn = -8
RETURN
END
SET @user_no = @v_user_no
SET @v_user_age = dbo.FN_ResidentNoToAge(@v_resident_no,getDate())
SET @v_server_id = dbo.FN_LoginFlagToServerID(@login_flag)
SET @v_user_sex = dbo.FN_ResidentNoToSex(@v_resident_no)
SET @teen_tag = CASE
WHEN @v_user_age < 18 THEN 1
ELSE 0
END
--// ????? ??
UPDATE dbo.user_profile
SET login_flag = @login_flag ,
login_time = @ipt_time ,
user_ip_addr= @user_ip_addr ,
server_id = @v_server_id
WHERE user_no = @user_no
AND login_flag = @v_login_flag
IF (@@ERROR <> 0 or @@ROWCOUNT <> 1)
BEGIN
ROLLBACK TRANSACTION
SET @sp_rtn = -5
RETURN
END
--// IP???? ?? ??.
EXEC dbo.SP_GET_PCBANG_INFO_R
@user_ip_addr , -- IP??.
@o_pcbang_no OUTPUT , -- PC? ????.
@o_pc_agency_no OUTPUT , -- PC? ????.
@ip_addr_tag OUTPUT , -- IP??????(0:??, 1:PC?)
NULL -- @o_sp_rtn
SELECT @ip_addr_tag = IsNull(@ip_addr_tag, 0)
-------------------------------------------------------------------
-- ???? ???? ??
EXEC dbo.SP_ACNT_CONNLOG_C
@user_no ,
@login_flag ,
@user_ip_addr ,
@ipt_time ,
@o_pcbang_no ,
@o_pc_agency_no ,
@v_user_age ,
@v_user_sex ,
@o_ac_conn_no OUTPUT ,
@conn_rtn OUTPUT
IF @@ERROR <> 0 OR @conn_rtn <> 0 BEGIN
IF @@TRANCOUNT > 0
ROLLBACK TRANSACTION
SET @sp_rtn = -20
RETURN
END
COMMIT TRANSACTION
--// SET @sp_rtn = 0
RETURN
END
GO
/****** Object: StoredProcedure [dbo].[SP_ACC_LOGIN] Script Date: 04/05/2014 05:32:20 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
/************************************************** ****************************
? ? : dbo.SP_ACC_LOGIN
? ? : ?? ???
???? :
???? : @sp_rtn
0 : ??.
-1 : ????? ???.
-2 : ????? ???? ???.
-3 : ?????? ?????? ??? ?? ??.
-4 : ???? ??? ???. (?? ????)
-5 : ????? ?? ??.
-6 : ??? ??? ????.
-7 : ???? ???? ??.
-8 : ?????.
-10 : Update Lock ??(DB ??)
-11 : ??IP??.
-12 : ???? ?? 5??? ??? ?? ?? IP.
-20 : DB Error
-21 : ???? ????
-22 : ???? ???
Ver Date Author Description
--------- ---------- -------------- ------------------------------------
1.0 2004-10-11 ??? 1. ?? ???
1.1 2005-09-07 ??? 1. ??IP?? ??? ??.
1.2 2005-09-12 ??? 1. IP????(@ip_addr_tag) OUTPUT???? ??.
(PC? IP??? ???? ?? ?)
1.3 2005-11-14 ??? 1. ????????Key, PC?????,
PC? ???? ??.
2. PC? IP???? ??(FN_IsPCBangIP)?
SP_GET_PCBANG_INFO_R? ??.
1.4 2006-01-04 ??? 1. ???? ???? ??? ??
1.5 2006-01-11 ??? 1. ?? ????(-4) : ???? (RollBack, Return ??)
1.6 2007.02.05 CHOI JI HWAN 1. modify @user_pwd parameter.
before : varchar(20)
after : varchar(64)
1.7 2007.02.14 CHOI JI HWAN 1. ????? ip ?? ?? ??.
2. ???? MD5 ???
@user_pwd : VARCHAR(20) -> VARCHAR(64)
1.8 2007.02.15 Han JI wook 1. User_ID -> Lower Casting
1.9 2007.02.20 Han JI wook 1. User_ID -> Lower Casting Cancel
2.0 2007.04.04 Choi JI Hwan 1. Change @sp_rtn value
Invalid passowrd : old=-2 >> new=-1
2.1 2007.04.17 Han JI Wook 1. Add Password Change Check
2.2 2007.04.24 CHOI JI HWAN 1. ???? ???? ??? ? ??? 5??? ???? ?? IP?? ???? ??????.
2.3 2007.04.26 CHOI JI HWAN 1. IP? ?? ?????? 30??? ??.
************************************************** ****************************/
ALTER PROCEDURE [dbo].[SP_ACC_LOGIN]
@user_id varchar(40) , -- ????ID
@user_pwd varchar(64) , -- ???? ????
@login_flag int , -- ??????
@user_ip_addr varbinary(4) , -- ???IP??
@user_no varchar(14) OUTPUT , -- ????????
@session_id int OUTPUT , -- ????ID
@teen_tag int OUTPUT , -- ?????? (0:18???, 1:18???)
@ip_addr_tag int OUTPUT , -- IP??????(0:??, 1:PC?)
@o_ac_conn_no char(20) OUTPUT , -- ????????Key -> ??
@o_pcbang_no varchar(14) OUTPUT , -- PC? ????. -> ( 2005-11-11 )??
@o_pc_agency_no varchar(5) OUTPUT , -- PC? ???? -> ??
@a int OUTPUT ,
@b int OUTPUT ,
@sp_rtn int OUTPUT -- ??? ?? (0:??)
AS
DECLARE @v_user_pwd varchar(64)
DECLARE @v_login_flag int
DECLARE @v_user_no varchar(14)
DECLARE @v_resident_no varchar(13)
DECLARE @v_login_tag char(1)
DECLARE @v_user_age int
DECLARE @ipt_time datetime
DECLARE @conn_rtn int
DECLARE @ip_tag int
DECLARE @company_ip varbinary(3)
DECLARE @v_server_id varchar(3)
DECLARE @v_user_sex varchar(1)
DECLARE @rowcnt int
--// ????
DECLARE @o_p_step_no int --????
DECLARE @o_p_reason_sort varchar(2) --??????
DECLARE @o_p_expire_time datetime --??????
DECLARE @v_lo_block_tag varchar(1) --???????
DECLARE @o_wr_block_tag varchar(1) --??????
DECLARE @v_in_sp_rtn int
DECLARE @v_bigint_ip bigint
DECLARE @v_login_failure_count int
DECLARE @v_onlineIdCount int
BEGIN
SET LOCK_TIMEOUT 1000
SET @v_bigint_ip = CAST(@user_ip_addr as BIGINT)
SET @ipt_time = GetDate()
SET @conn_rtn = 0
SET @user_no = '0000000000'
SET @session_id = 0
SET @teen_tag = 0
SET @ip_addr_tag = 0
SET @sp_rtn = 0
SET @o_ac_conn_no = '0000000000000000'
SET @o_pcbang_no = ''
SET @o_pc_agency_no = ''
SET @a = 0
SET @b = 0
--************************************
-- ?????? IP?? Start
--************************************
SELECT @ip_tag = dbo.FN_IsBlockIP( @user_ip_addr )
IF @ip_tag = 1
BEGIN
SET @sp_rtn = -6
RETURN
END
--************************************
-- ?????? IP?? End
--************************************
--************************************
-- ??IP ?? ?? (2005.08.17 - Hanjiwook)
--************************************
IF dbo.FN_ExistBanIP(@user_ip_addr) = 1
BEGIN
SET @sp_rtn = -11
RETURN
END
--************************************************** **********
-- ??? ?IP?? 5??? ??? ???? ??? ??.(CHOI JI HWAN - 2007.04.24)
--************************************************** **********
EXEC dbo.SP_LOGIN_FAILURE_LOG_GetCountByIp @ipt_time
, @user_ip_addr
, @v_login_failure_count OUTPUT
, @v_in_sp_rtn OUTPUT
IF ( @v_login_failure_count >= 5 )
BEGIN
SET @sp_rtn = -12
RETURN
END
--************************************************** **********
-- IP? ?? ?????? 30??? ??. (CHOI JI HWAN - 2007.04.26)
--************************************************** **********
SELECT @v_onlineIdCount = COUNT(*)
FROM dbo.user_profile WITH(NOLOCK)
WHERE login_flag > 0
AND user_ip_addr = @user_ip_addr
--AND login_tag = 'Y'
IF ( @v_onlineIdCount >= 30 )
BEGIN
SET @sp_rtn = -13
RETURN
END
--************************************************** **********
BEGIN TRANSACTION
--// Login_Tag
--// 'Y' : normal, 'P' : Password Not Change
SELECT @v_user_no = user_no,
@v_user_pwd = isnull(user_pwd, ''),
@v_login_flag = login_flag,
@v_login_tag = login_tag,
@v_resident_no = resident_no
FROM dbo.user_profile WITH(UPDLOCK)
WHERE user_id = @user_id
AND login_tag IN ('Y', 'P')
SET @rowcnt = @@ROWCOUNT
IF @@ERROR <> 0
BEGIN
ROLLBACK TRANSACTION
SET @sp_rtn = -10
RETURN
END
--************************************
-- ???? Check
--************************************
--// 1. ???? ?? ??
IF @rowcnt = 0
BEGIN
ROLLBACK TRANSACTION
SET @sp_rtn = -1 --old : -1
RETURN
END
--IF ISNULL(dbo.FN_CertifyIpPwd( @user_ip_addr, @user_pwd ), 0) <> 1 --GM : no password check.
--BEGIN
-- --// 2. ???? ???? ??
-- SELECT @user_pwd = isnull(@user_pwd, '')
-- IF @v_user_pwd <> @user_pwd or @user_pwd = ''
-- BEGIN
-- ROLLBACK TRANSACTION
-- SET @sp_rtn = -1 --old : -2
-- EXEC dbo.SP_LOGIN_FAILURE_LOG_C @user_ip_addr, @user_id, @user_pwd, @v_user_no, @login_flag, @sp_rtn, @v_in_sp_rtn OUTPUT
-- RETURN
-- END
-- --// 3.1 2006.05.01 ?? ??????? ???? ?? ?? ('P')
-- --// 3.2 ?????? ???? ???? login_tag? 'Y'? ???.
-- IF @v_login_tag = 'P'
-- BEGIN
-- ROLLBACK TRANSACTION
-- SET @sp_rtn = -22
-- RETURN
-- END
--END
/*
--// 3.1 ?????? ?????? ????? ??
--// 3.2 ?????? ???????? login_tag? 'Y'? ???.
IF @v_login_tag = 'C'
BEGIN
ROLLBACK TRANSACTION
SET @sp_rtn = -3
RETURN
END
*/
--// 4. Dont forget fix
--IF ( (@v_login_flag <> 0) AND (@v_login_flag = @login_flag) ) BEGIN
-- --// ROLLBACK TRANSACTION
-- SET @session_id = @v_login_flag
-- SET @sp_rtn = -4
-- --// RETURN
--END
IF ( (@v_login_flag <> 0) AND (@v_login_flag <> @login_flag) ) BEGIN
ROLLBACK TRANSACTION
SET @session_id = @v_login_flag
SET @sp_rtn = -4
RETURN
END
--************************************
-- ?????(????) ??
--************************************
EXEC dbo.MB_USR_PUN_CheckBlock_R @v_user_no , --????
@o_p_step_no OUTPUT, --????
@o_p_reason_sort OUTPUT, --??????
@o_p_expire_time OUTPUT, --??????
@v_lo_block_tag OUTPUT, --???????(Y=??, N=?????)
@o_wr_block_tag OUTPUT, --????(????? ????)
@v_in_sp_rtn OUTPUT --????(0:??)
IF @v_in_sp_rtn <> 0 OR @@Error <> 0
BEGIN
ROLLBACK TRANSACTION
SET @sp_rtn = -7
RETURN
END
IF Upper(@v_lo_block_tag) = 'Y' --?????? ??.
BEGIN
ROLLBACK TRANSACTION
SET @sp_rtn = -8
RETURN
END
SET @user_no = @v_user_no
SET @v_user_age = dbo.FN_ResidentNoToAge(@v_resident_no,getDate())
SET @v_server_id = dbo.FN_LoginFlagToServerID(@login_flag)
SET @v_user_sex = dbo.FN_ResidentNoToSex(@v_resident_no)
SET @teen_tag = CASE
WHEN @v_user_age < 18 THEN 1
ELSE 0
END
--// ????? ??
UPDATE dbo.user_profile
SET login_flag = @login_flag ,
login_time = @ipt_time ,
user_ip_addr= @user_ip_addr ,
server_id = @v_server_id
WHERE user_no = @user_no
AND login_flag = @v_login_flag
IF (@@ERROR <> 0 or @@ROWCOUNT <> 1)
BEGIN
ROLLBACK TRANSACTION
SET @sp_rtn = -5
RETURN
END
--// IP???? ?? ??.
EXEC dbo.SP_GET_PCBANG_INFO_R
@user_ip_addr , -- IP??.
@o_pcbang_no OUTPUT , -- PC? ????.
@o_pc_agency_no OUTPUT , -- PC? ????.
@ip_addr_tag OUTPUT , -- IP??????(0:??, 1:PC?)
NULL -- @o_sp_rtn
SELECT @ip_addr_tag = IsNull(@ip_addr_tag, 0)
-------------------------------------------------------------------
-- ???? ???? ??
EXEC dbo.SP_ACNT_CONNLOG_C
@user_no ,
@login_flag ,
@user_ip_addr ,
@ipt_time ,
@o_pcbang_no ,
@o_pc_agency_no ,
@v_user_age ,
@v_user_sex ,
@o_ac_conn_no OUTPUT ,
@conn_rtn OUTPUT
IF @@ERROR <> 0 OR @conn_rtn <> 0 BEGIN
IF @@TRANCOUNT > 0
ROLLBACK TRANSACTION
SET @sp_rtn = -20
RETURN
END
COMMIT TRANSACTION
--// SET @sp_rtn = 0
RETURN
END
How to enable debug output on the client side:
1. Go to 0094C4E8 and nop the conditional jump
for everyone else:
open up the exe in olly (make sure the exe is unpacked), right click on the code -> search for -> all intermodular calls
then look for KERNEL32.OutputDebugStringA
there will be like 4 - 6 results and only one of them is the correct one, make sure to push ctrl+A to analyze the exe, then go to the call address and place a breakpoint on the beginning of the code. it's disabled by default so the real call will never execute.
then after you find the right one and see that the conditional jump always jumps over the right call, nop it.
thats it, save the exe and from now on you'll have debug string output. keep in mind that running the game with a debug monitor will significantly slow down the load time and general game performance. so for public releases make sure to retn the call
for everyone else:
open up the exe in olly (make sure the exe is unpacked), right click on the code -> search for -> all intermodular calls
then look for KERNEL32.OutputDebugStringA
there will be like 4 - 6 results and only one of them is the correct one, make sure to push ctrl+A to analyze the exe, then go to the call address and place a breakpoint on the beginning of the code. it's disabled by default so the real call will never execute.
then after you find the right one and see that the conditional jump always jumps over the right call, nop it.
thats it, save the exe and from now on you'll have debug string output. keep in mind that running the game with a debug monitor will significantly slow down the load time and general game performance. so for public releases make sure to retn the call
- Your dekaron server.exe crash at begin:
Pretty simple , depeding on error just add Regedit key
Here is the download link :
Here is the download link :

- Here is some common errors for developing but it should help:
Dekaron crashes % :
If it crash at 0% (begin) its because u got some folder of data not in correct place
If it crash at 50% its because you got duplicated Action file or theres non exist in the item folder or monster folder the csv and it cant load it
If it crash at 70% thats because some changes in script folder
If it crash at 99% thats because you got in your exe client dependecy , so you need to launch by Launcher
If it crash at 0% (begin) its because u got some folder of data not in correct place
If it crash at 50% its because you got duplicated Action file or theres non exist in the item folder or monster folder the csv and it cant load it
If it crash at 70% thats because some changes in script folder
If it crash at 99% thats because you got in your exe client dependecy , so you need to launch by Launcher
INSERT INTO [account].[dbo].[USER_PROFILE]
([user_no],[user_id],[user_pwd],[resident_no],[user_type],[login_flag],[login_tag],[ipt_time],[login_time],[logout_time],[user_ip_addr],[server_id],[auth_tag])
VALUES ('09101410275532','user','your hash code','801011000000','1','0','Y','01/01/2006 00:00:00','01/01/2006 00:00:00',null,null,null,'000')
([user_no],[user_id],[user_pwd],[resident_no],[user_type],[login_flag],[login_tag],[ipt_time],[login_time],[logout_time],[user_ip_addr],[server_id],[auth_tag])
VALUES ('09101410275532','user','your hash code','801011000000','1','0','Y','01/01/2006 00:00:00','01/01/2006 00:00:00',null,null,null,'000')
Credits : guesswho , Farius~, jaskile12, ProxynearQuote:
Dekaron client crash reasons can be easily debugged.
Enable debug output in the exe and run a debug monitor. it will tell you exactly which file messes up and crashes it.
also dont open port the sessionserver port. it's an internal connection between the executables and they should never be accessible from the outside.
since sessionserver.exe acts as a client you can easily hijack the connection with your own dekaronserver.exe. imagine the possibilities yourself.
also your create-account query looks fishy, why dont you call the SP from the database? SP_ACC_CREATE should be in the database by default, but in case someone doesnt have it, here it is:
USE [Account]
GO
/****** Object: StoredProcedure [dbo].[SP_ACC_CREATE] Script Date: 11/1/2015 7:41:11 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER OFF
GO
/************************************************** ****************
* 累己磊 : 茄瘤宽
* 累己老 : 2004.10.11(岿)
* 郴 侩 : 霸烙拌沥积己
* 馆券蔼 : -1 : 老访锅龋 眉锅 坷幅
-2 : 霸烙拌沥 积己 角菩
0 : 己傍
--------- ---------- -------------- ------------------------------------
Ver Date Author Description
--------- ---------- -------------- ------------------------------------
1.1 2007.02.05 CHOI JI HWAN 1. modify @user_pwd parameter.
before : varchar(20)
after : varchar(64)
************************************************** ****************/
ALTER PROCEDURE [dbo].[SP_ACC_CREATE]
@user_id varchar(40), -- 雀盔ID
@user_pwd varchar(64), -- 雀盔厚剐锅龋
@user_type char(1), -- 雀盔备盒
@user_ip_addr varbinary(4), -- 立加IP林家
@sp_rtn int OUTPUT -- 馆券蔼府畔 ( 0:沥惑 )
AS
DECLARE @ipt_time datetime
DECLARE @seq_no numeric
DECLARE @user_no varchar(14)
DECLARE @m_date varchar(6)
DECLARE @userpwd varchar(64)
BEGIN
SET @ipt_time = GetDate()
-- 老访锅龋 眉锅
EXEC sp_com_seqno 'USER_PROFILE', @ipt_time, @seq_no OUTPUT
IF @seq_no < 1 -- 老访锅龋 眉锅坷幅
BEGIN
SET @sp_rtn = -1
RETURN
END
SELECT @m_date = SUBSTRING(CONVERT(varchar(10),@ipt_time,112),3,6)
SELECT @user_no = @m_date + '999' + dbo.FN_GetAutoNo(@seq_no,5)
BEGIN TRANSACTION
SET @userpwd = CONVERT(varchar(32), HASHBYTES('MD5', @user_pwd), 2)
INSERT INTO dbo.user_profile
( user_no,
user_id,
user_pwd,
resident_no,
user_type,
ipt_time,
user_ip_addr)
VALUES (@user_no,
@user_id,
@userpwd,
'801011000000',
@user_type,
@ipt_time,
@user_ip_addr)
IF ( @@error <> 0 or @@rowcount <>1 )
BEGIN
ROLLBACK TRANSACTION
SET @sp_rtn = -2
RETURN
END
SET @sp_rtn = 0
COMMIT TRANSACTION
RETURN
END
and this is how you should call it (it's a generated query.. doesnt get much easier than this)
keep in mind sessionserver sends a MD5 hash of your password when contacting the database, so your password has to be in MD5 too.USE [Account]
GO
DECLARE @return_value int,
@sp_rtn int
EXEC @return_value = [dbo].[SP_ACC_CREATE]
@user_id = N'youraccname',
@user_pwd = N'yourhash',
@user_type = N'0',
@user_ip_addr = 0x0,
@sp_rtn = @sp_rtn OUTPUT
SELECT @sp_rtn as N'@sp_rtn'
SELECT 'Return Value' = @return_value
GO]- How to remove IPList from DekaronServer (IP protection)
1. Download ollydebug cuz you need it to edit the exe.
2. After you open dekaronserver exe just click CTRL + G to find the following adress : 00661418 and there will appear like this : Click here and after that you gonna change JNZ to JMP and save it "copy all moddifications"
3. DoneCredits to guesswho
Will update some more common error for help newbyes
Leave thanks if you like






