Files
Lineage-2/docker/initdb/01_login_minimal.sql
T

50 lines
2.0 KiB
SQL
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
-- Минимальные таблицы под логин-сервер в стиле 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;