-- Минимальные таблицы под логин-сервер в стиле 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;