-- LosaDev 2014: fixes for the 2014 servers on top of the May 2012 scripts, plus test accounts. USE [LosaGame]; GO -- 1. The 2014 game server sends its 64-bit server ID (query 3), the 2012 procedure expected the row index. ALTER PROCEDURE [dbo].[game_server_connection_on] ( @serverID bigint ) AS UPDATE define_game_server SET [status] = 1 WHERE serverID = @serverID GO -- 2. Second encryption key (query 5, game_encode_get_fix_key). The login key's ID part is encrypted -- with it. Shorter than 16 characters. IF NOT EXISTS (SELECT * FROM define_encode_key) INSERT INTO define_encode_key (encodeKey, regDate) VALUES ('$(ENCODE_KEY)', getdate()); GO -- 3. Test accounts. The game server (Korea mode) checks userMemberDB.userID + userLoginDB.encodeKey; -- there is no password check on the server: the launcher/web normally writes a fresh encodeKey -- and passes it to the client (tools\start-client.ps1 does that here). CREATE PROCEDURE [dbo].[lshub_add_test_account] ( @userID varchar(12) , @nickName varchar(20) ) AS SET NOCOUNT ON IF EXISTS (SELECT * FROM userMemberDB WHERE userID = @userID) RETURN INSERT INTO userMemberDB (userID, nickName, userPWD, EMail, mailling, userType, joinType, limitType, limitDate, regDate) VALUES (@userID, @nickName, '', '', 0, 0, 0, 0, '1999-01-01', getdate()) DECLARE @accountIDX int = (SELECT accountIDX FROM userMemberDB WHERE userID = @userID) INSERT INTO userGameDB (accountIDX, userState, gameMoney, playTime, conn_count, userLevel, userEXP, rencpoint, renspoint, relateLevel, regionType, connDate, regDate) VALUES (@accountIDX, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '2000-01-01', getdate()) INSERT INTO userRecordBattleDB (accountIDX, regDate) VALUES (@accountIDX, getdate()) INSERT INTO userLoginDB (accountIDX, encodeKey, gameServerID, connDate) VALUES (@accountIDX, '111111111111111', 0, getdate()) GO -- Resets the login key before a client start (what the web login did). Returns the key. CREATE PROCEDURE [dbo].[lshub_set_login_key] ( @userID varchar(12) , @encodeKey char(15) ) AS SET NOCOUNT ON UPDATE userLoginDB SET encodeKey = @encodeKey, gameServerID = 0, connDate = getdate() WHERE accountIDX = (SELECT accountIDX FROM userMemberDB WHERE userID = @userID) SELECT encodeKey, (SELECT TOP 1 encodeKey FROM define_encode_key ORDER BY idx DESC) AS secondKey FROM userLoginDB WHERE accountIDX = (SELECT accountIDX FROM userMemberDB WHERE userID = @userID) GO EXEC lshub_add_test_account 'test1', 'Tester1'; EXEC lshub_add_test_account 'test2', 'Tester2'; -- GM: the game server treats a nickname that starts with an [ID_LIKE] prefix from -- ls_gamesvr\config\sp2_developerID.ini (here "[GM]") as a developer. EXEC lshub_add_test_account 'gmtest1', '[GM]Admin'; GO