forked from LosaDev/ls-2019-source
Add database setup (LosaGame, LosaGame_log, LosaLogData, Backup, backup/restore) and the tested one-PC server config
This commit is contained in:
1 parent
c198676e97
commit
17e8463b49
243 files changed
+1405092
No files matched your search
@@ -0,0 +1,69 @@
|
||||
-- LosaDev 2019: procedures the 2019 server calls (ls_query.ini ids 1, 136, 137, 139)
|
||||
-- that no released DB script contains. Written for the testbed from the server code (DBClient.cpp).
|
||||
-- Still missing on purpose: 197 game_item_extra_get_list_dev, 1500 SC_ERROR_LOG_ADD,
|
||||
-- 2108 log_item_bonus_gold_set_add, 2207 game_block_hdd_serial_check (dev/log/anti-cheat only).
|
||||
USE [LosaGame]
|
||||
GO
|
||||
IF OBJECT_ID(N'dbo.game_pingpong', N'P') IS NOT NULL DROP PROCEDURE dbo.game_pingpong
|
||||
GO
|
||||
-- id 1: DB agent keep-alive; the code says "a query that does not really exist"
|
||||
CREATE PROCEDURE dbo.game_pingpong
|
||||
AS
|
||||
SET NOCOUNT ON
|
||||
GO
|
||||
IF OBJECT_ID(N'dbo.game_member_count', N'P') IS NOT NULL DROP PROCEDURE dbo.game_member_count
|
||||
GO
|
||||
-- id 136: OnSelectMemberConut - one LONG back, 0 = new account (the server then calls game_member_add)
|
||||
CREATE PROCEDURE dbo.game_member_count
|
||||
@userID varchar(12)
|
||||
AS
|
||||
SET NOCOUNT ON
|
||||
SELECT COUNT(*) FROM dbo.userMemberDB WITH(NOLOCK) WHERE userID = @userID
|
||||
GO
|
||||
IF OBJECT_ID(N'dbo.game_member_add', N'P') IS NOT NULL DROP PROCEDURE dbo.game_member_add
|
||||
GO
|
||||
-- id 137: OnInsertMember(privateID, publicID) - first login of a publisher account creates the game account
|
||||
CREATE PROCEDURE dbo.game_member_add
|
||||
@userID varchar(12),
|
||||
@nickName varchar(20)
|
||||
AS
|
||||
SET NOCOUNT ON
|
||||
IF EXISTS (SELECT 1 FROM dbo.userMemberDB WITH(NOLOCK) WHERE userID = @userID) RETURN
|
||||
DECLARE @ret int
|
||||
EXEC dbo.web_member_add @userID, @nickName, '', '', 0, 0, 0, 0, '127.0.0.1', @ret OUTPUT
|
||||
GO
|
||||
IF OBJECT_ID(N'dbo.game_create_nickname', N'P') IS NOT NULL DROP PROCEDURE dbo.game_create_nickname
|
||||
GO
|
||||
-- id 139: OnUpdateFirstPublicID(accountIDX, newNick)
|
||||
CREATE PROCEDURE dbo.game_create_nickname
|
||||
@accountIDX int,
|
||||
@nickName varchar(20)
|
||||
AS
|
||||
SET NOCOUNT ON
|
||||
UPDATE dbo.userMemberDB SET nickName = @nickName WHERE accountIDX = @accountIDX
|
||||
GO
|
||||
-- id 11 game_game_get_data: the released script returns cpID/cpUNIQ (channeling columns), but the game server only
|
||||
-- reads them when the locale uses channeling IDs (Korea). The Indonesia locale expects the same row without them.
|
||||
ALTER PROCEDURE [dbo].[game_game_get_data]
|
||||
(
|
||||
@userID varchar(12)
|
||||
)
|
||||
As
|
||||
SET NOCOUNT ON
|
||||
DECLARE @CURRENTDATE DATETIME
|
||||
DECLARE @CONNECTDATE DATETIME
|
||||
SET @CURRENTDATE = GETDATE();
|
||||
SET @CONNECTDATE = ( SELECT conndate FROM dbo.userGameDB WHERE accountIDX IN ( SELECT accountIDX FROM dbo.userMemberDB WHERE userID = @userID ))
|
||||
IF( @CURRENTDATE < @CONNECTDATE )
|
||||
SET @CONNECTDATE = @CURRENTDATE
|
||||
SELECT a.accountIDX, b.userID, b.nickName, a.userState, a.gameMoney
|
||||
, a.conn_count, @CONNECTDATE, a.userLevel, a.userEXP
|
||||
, b.eventType, isNull(c.class,0) as 'class', b.joinType, b.regDate, a.regionType
|
||||
, a.rencpoint, a.renspoint, isNull(c.region,0) as 'region', b.cpType
|
||||
, b.limitType, b.limitDate, a.userFishingLevel, a.userFishingEXP
|
||||
, a.refillData, a.userExcavationLevel, a.userExcavationEXP, a.userHerocEXP, a.userHerosEXP, a.practice
|
||||
FROM userGameDB a WITH( NOLOCK )
|
||||
JOIN userMemberDB b WITH( NOLOCK ) ON a.accountIDX = b.accountIDX
|
||||
LEFT JOIN userRankingDB c WITH( NOLOCK ) ON a.accountIDX = c.accountIDX
|
||||
WHERE b.userID = @userID
|
||||
GO
|
||||
Reference in new issue
Block a user