Add Docker Compose stack for L2 Essence 542 with PostgreSQL 17 and install scripts.

This commit is contained in:
test
2026-05-18 12:42:00 +03:00
commit a4a3a2aa09
8 changed files with 505 additions and 0 deletions
+49
View File
@@ -0,0 +1,49 @@
-- Минимальные таблицы под логин-сервер в стиле L2J (accounts / gameservers / account_data).
-- Подходит для многих форков; у Samurai Crow/Essence могут отличаться имена колонок или хеш пароля —
-- тогда сверьте с SQL из вашей сборки и поправьте этот файл.
--
-- Тестовый логин: admin / admin
-- Хеш: Base64(SHA1 от UTF-8 строки «admin») — типично для L2J/Mobius.
-- Альтернатива (если сборка ждёт hex SHA1): замените поле password на
-- d033e22ae348aeb5660fc2140aec35850c4da997
CREATE TABLE IF NOT EXISTS accounts (
login VARCHAR(45) NOT NULL PRIMARY KEY,
password VARCHAR(128),
lastactive BIGINT,
accesslevel INTEGER NOT NULL DEFAULT 0,
lastip VARCHAR(45),
lastserver SMALLINT DEFAULT 1
);
CREATE TABLE IF NOT EXISTS account_data (
account_name VARCHAR(45) NOT NULL,
var VARCHAR(50) NOT NULL,
value VARCHAR(255),
PRIMARY KEY (account_name, var),
CONSTRAINT fk_account_data_account FOREIGN KEY (account_name)
REFERENCES accounts (login) ON DELETE CASCADE
);
CREATE TABLE IF NOT EXISTS gameservers (
hexid VARCHAR(255) NOT NULL,
server_id INTEGER NOT NULL PRIMARY KEY,
host VARCHAR(255) NOT NULL
);
INSERT INTO accounts (login, password, lastactive, accesslevel, lastip, lastserver)
VALUES (
'admin',
'0DPiKuNIrrVmD8IUCuw1hQxNqZc=',
(EXTRACT(EPOCH FROM NOW()) * 1000)::bigint,
0,
'127.0.0.1',
1
)
ON CONFLICT (login) DO NOTHING;
-- Игровой сервер при первом подключении к логину часто сам делает INSERT в gameservers.
-- Если нужна явная запись (hexid должен совпасть с RequestServerID / hex в конфиге GS):
-- INSERT INTO gameservers (hexid, server_id, host)
-- VALUES ('ВАШ_32_СИМВОЛА_HEX', 1, '127.0.0.1')
-- ON CONFLICT (server_id) DO UPDATE SET hexid = EXCLUDED.hexid, host = EXCLUDED.host;