Онлайн-панель Knight (веб) і проблеми синхронізації бази даних гри
На pvp-серверах Knight Online веб-панель (Реєстрація, Рейтинг, Pus/Max) і ігровий сервер безпосередньо використовують ту саму базу даних SQL Server. Незважаючи на те, що ви відкриваєте нове членство через веб-сайт, отримуєте повідомлення про помилку «Неправильний ідентифікатор або пароль» під час входу в гру або сума готівки/KC, отримана з сайту, не відображається в грі синхронізація (невідповідність даних) це проблема. У цьому посібнику ми розглянемо основні причини та способи вирішення проблеми.
Причина 1: інша версія (v1299 / v2xx) таблиці та структури процедур
Таблиці SQL, які запускає веб-панель, яку ви використовуєте під час надсилання записів до бази даних, можуть не збігатися з таблицями, які зчитуються файлами гри.
рішення:
- Членство в інфраструктурах v1299, як правило, є
TB_USERпід час запису в таблицю в поточних базах даних v2xx і вищеACCOUNT_CHARабоVERSION_DATAНеобхідно також заповнити додаткові таблиці, такі як. - У папці керування вашої веб-панелі
config.phpабо відкривши файл налаштувань бази даних, перевірте, яку процедуру (наприклад: `LOAD_USER_DATA` або `CREATE_NEW_ACCOUNT`) запускає панель під час натискання членства та чи доступна ця процедура в SQL Server.
Причина 2: дозволи на віддалене підключення SQL Server
Якщо хостинг/сервер, на якому розміщено ваш веб-сайт, і ваш ігровий сервер мають різні IP-адреси, ваш ігровий сервер може блокувати запити даних із веб-сайту з міркувань кібербезпеки.
рішення:
- Відкрийте SQL Server Management Studio, клацніть правою кнопкою миші на імені свого сервера та Властивості сказати.
- Зв'язки Перейдіть на вкладку і «Дозволити віддалені підключення до цього сервера» Переконайтеся, що позначено (Дозволити віддалені підключення до цього сервера).
- Порт SQL Server до зовнішньої мережі через брандмауер Windows 1433 Додайте вхідне правило до порту, дозволяючи лише IP-адресу вашого веб-сайту.
Причина 3: невідповідність методу шифрування MD5
Можливо, ваша веб-панель зберігає паролі гравців у SQL як MD5 (зашифровані хеші) для забезпечення безпеки. Однак, якщо Ebenezer/DbAgent запрограмований на читання паролів у вигляді звичайного тексту, гравці не можуть увійти в гру.
- Вимкніть функцію шифрування MD5 у налаштуваннях панелі або використовуйте сумісні з MD5 (підтримувані soaps/guard) версії exe-файлів гри.
Ця стаття спеціально підготовлена для PvPServer.