Database setup (2014)
Creates the four databases the 2014 servers use, with the original names:
| Database | Used by |
|---|---|
LosaGame |
game data and accounts (DB agent ls_dbagent_game) |
LosaGame_log |
logs written by procedures in LosaGame |
LosaLogData |
log server (DB agent ls_dbagent_log); only procedures, the log queries are stubs |
Backup |
stays empty: game_region_backup_point / game_region_backup_compen create their own tables in it |
This is the set used by the tested local setup (2026-11-07: nine servers, three accounts reach the lobby and the headquarters tutorial).
Expected messages
Tested on SQL Server 2022 Express. Every script runs clean except two that come from the May 2012 base scripts:
04_LosaGame_procs.sql: 153 "Invalid column name" messages = 22 old procedures written for newer tables. None of them is called by the 2014 servers.05_LosaGame_etc.sql: one old view (userMannerpointDB) fails the same way.
LosaGame_log comes from the 2021 release (the 2014 release has no script for it). 8 of the 23 log tables the old 2012 procedures write exist there; the other 15 belong to the old publisher web site (real-name check, recommend events, parent consent). 33 procedures use them and none is called by the servers (ls_query.ini), so nothing in game is affected.
Needs
- SQL Server 2019 or newer (Express is enough) with SQL Server and Windows authentication (mixed mode).
sqlcmdon PATH.- Recommended: instance collation
Korean_Wansung_CI_AS, like the original service.
Setup
setup-db.bat .\SQLEXPRESS
It asks for the DB agent password (SQL login lstggame, used by both DB agents) and the encode key (15 characters, stored as the second key row; the login key tool must use the same value). Logs go to logs\.
The 2014 DB agents expect the password encoded: run ls_dbagent.exe -x <password> and put its output in PW= of both ls_dbagent.ini files. A disabled login lstgweb is also created only because the 2012 script creates a user for it.
| Script | Does |
|---|---|
00_create_databases.sql |
creates LosaGame, LosaGame_log, LosaLogData, Backup |
01_logins.sql |
SQL login lstggame (and the disabled lstgweb) |
02_LosaGame_log.sql |
LosaGame_log tables from the 2021 release |
03-05 |
the 2014 release's src\sql\20120504 scripts (tables, procedures, functions), UTF-8 |
06_LosaGame_stubs.sql, 07_LosaLogData_stubs.sql |
empty stand-in procedures for the queries in ls_query.ini the 2012 scripts do not have (about 175 in LosaGame); replace one with a real procedure to make that feature work |
08_fixes_and_accounts.sql |
64-bit server ID, the encode key, test accounts test1, test2, gmtest1, the login-key helper |
09_param_fixes.sql |
procedures whose 2012 parameter list is shorter than what the 2014 server sends |
10_features_from_2021.sql, 12_core_procs_from_2021.sql |
columns, tables and procedures from the 2021 release that 2014 features need (pets, faction, costumes, ...) |
11_first_tournament.sql |
the first tournament row |
13_users.sql |
lstggame becomes db_owner of all four databases |
optional\test-heroes.sql |
six permanent heroes for the test accounts (Savage Berserker first: the headquarters tutorial needs it) |
Backup and restore
backup.bat D:\LosaBackup .\SQLEXPRESS
restore.bat 20261107_1400 D:\LosaBackup .\SQLEXPRESS
backup.bat writes <database>_<yyyyMMdd_HHmm>.bak for all four databases (online). restore.bat asks first and replaces all four: stop every server before restoring. It restores to the paths stored in the backup (same server); on another server use RESTORE DATABASE ... WITH MOVE by hand.