- 0
[закрыто] Привязка мода по айпишникам
Вопросы
Лучший ответ
Не забывай что это только мой пример, весь код ты должен оптимизировать под себя:
// Переменные для хранения IP и порта
new ServerIP[16];
new ServerPort;
}
stock LoadServerConfig() {
new File:configFile = fopen("server.cfg", io_read);
if (configFile == 0) {
printf("Ошибка открытия server.cfg");
return 0;
}
new line[128];
while (fread(configFile, line)) {
if (sscanf(line, "bind %s", ServerIP)) {
continue;
}
if (sscanf(line, "port %d", ServerPort)) {
continue;
}
}
fclose(configFile);
return 1;
}
// Функция подключения к базе данных и проверки наличия IP:Port
stock CheckServerInDatabase() {
new MySQL:connection;
new query[256];
// Подключение к базе данных
connection = mysql_connect("host", "user", "password", "database");
if (connection == MYSQL_INVALID_HANDLE) {
printf("Ошибка подключения к базе данных");
return 0;
}
// Формирование запроса
format(query, sizeof(query), "SELECT COUNT(*) FROM servers WHERE ip='%s' AND port=%d", ServerIP, ServerPort);
new result[1];
if (mysql_query(connection, query)) {
printf("Ошибка выполнения запроса: %s", mysql_error(connection));
mysql_close(connection);
return 0;
}
// Обработка результата запроса
mysql_store_result(connection);
if (mysql_fetch_row_format(connection, "%d", result)) {
if (result[0] == 0) {
printf("Сервер с IP %s и портом %d не найден в базе данных. Отключение...", ServerIP, ServerPort);
mysql_close(connection);
SendRconCommand("exit");
return 0;
}
}
mysql_free_result(connection);
mysql_close(connection);
return 1;
}
public OnGameModeInit() {
// Считывание конфигурации сервера
if (!LoadServerConfig()) {
printf("Ошибка при загрузке конфигурации сервера");
return 0;
}
// Проверка сервера в базе данных
if (!CheckServerInDatabase()) {
return 0;
}
// Продолжение инициализации игрового режима
return 1;
}
Подробно объясню что оно делает:
В функции LoadServerConfig читаются IP и порт из файла server.cfg.
В функции CheckServerInDatabase происходит подключение к базе данных и выполняется запрос на проверку наличия записи с соответствующими IP и портом.
Если запись не найдена, сервер отключается с помощью команды SendRconCommand("exit").
Если запись найдена, инициализация сервера продолжается.

Эта тема закрыта для публикации ответов.
-
Последние посетители 0 пользователей онлайн
Ни одного зарегистрированного пользователя не просматривает данную страницу
-
Похожий контент
-
От whccompany
World Hosting Corporations
GTA Game Host
CRMP PC& Mobile Project
Rostov Role Play | Rostov RP
Друзья, нашему проекту срочно требуется маппер для масштабного маппинга, нам требуется сделать:
1) Городской маппинг (удалить города и создать новые города, сначало необходимо создать город Ростов-на-Дону ; посёлок Коксовый и село Ряженое, создать используя стоковые фотографии из Яндекса и Гугла)
2) Фракционный маппинг ( Текстуры + Экстерьер + Интерьер )
3) Маппинг работ ( Текстуры + Экстерьеры + Интерьеры )
Бюджет до 60 000 рублей
Возможно заключение трудового контракта
Пишите: ВКонтакте
-
От gooding
Всем здравствуйте, уважаемые читатели. Я много времени потратил на доработку данного игрового мода, чтобы его выставить на форум.
Лог доработок можно посмотреть внизу, а скриншоты игрового мода внизу и верху.
-
От gooding
Скачать файл PAR RP | Уникальный мод без багов
Всем здравствуйте, уважаемые читатели. Я много времени потратил на доработку данного игрового мода, чтобы его выставить на форум.
Лог доработок можно посмотреть внизу, а скриншоты игрового мода внизу и верху.
Добавил gooding Добавлено 20.11.2024 Категория Моды Автор GOODING (Я)
-
От Kalinin
1. Набираю команду для создания CRMP сервера.
2. Вакансии которые свободны. Связь через TG @kalinin_sql
Нам нужны;
1.Кодеры
2.Маперы
3.СММ
Так-же дружная работа. По поводу зарплаты будем обговаривать все лично в беседе ТГ
-
От whccompany
Rostov Role Play | Rostov RP | CRMP Mobile Project объявляет набор людей в свою команду: Нам требуются:
1. Маппера:
Сдельная оплата труда от 250 до 3000 рублей/ за 1 работу
2. Специалист по Text Draw:
Сдельная оплата труда от 400 до 3500 рублей/ за одну работу
3. Pawn разработчик:
Заработная плата от 10 000 рублей/месяц
4. Программист для создания лаунчера и сайта UCP с автодонатом:
Заработная плата от 10 000 рублей/месяц
Контакты для связи:
ВКонтакте
Telegram
-
kekkomomek1941 Освоившийся 1
Всем привет, нужно в моде сделать, чтобы при загрузке сервера брало айпи и порт с server.cfg и подключалось к базе данных, после чего в ней искало bind:port с server.cfg , и если этого айпи там не окажется, то сервер выключится, а если айпи найдется, то ничего не произойдет
Отредактировано пользователем kekkomomek1941
Поделиться сообщением
Ссылка на сообщение