Навигация
Вход в аккаунт Регистрация Ваши демки Наш бан лист
Главная Всё для CS 1.6 Форум Фотоальбомы Видеоролики Обратная связь FAQ (вопрос/ответ) Узнай свой IP Радио онлайн Состав Клана Расписание тренеровок Мониторинг серверов
Наш опрос
Как вам наш сайт?!
Всего ответов: 137
Наш баннер
Наш баннер:
PwnBy.uCoz.Com - сайт клана Reb.tm
Статистика
Счетчик посещений

OnLine
Онлайн всего: 1
Гостей: 1
Пользователей: 0

Юзеры онлайн:
Кто нас посетил:
Баннеры
Игровой Топ Сайтов Games World TOP - лучший топ для ваших игровых сайтов Мониторинг игровых серверов Каталог Counter-Strike 1.6 сайтов Top.Ya-cs.ru - Рейтинг Cs Сайтов сервера cs 1.6 Мониторинг серверов
Главная » Файлы » Статьи cs 1.6 » Статьи

Регистрация на мастер-серверах (Обновление)

02.03.2012, 18:37
1. Поставить плагин:
Показать / Скрыть текст
#include <amxmodx>
#include <amxmisc>

#define TASK_UPDATE 4096
//Задержка между командами
#define DELAY 10.0

new bool:enabled = false, Masters[128][64], Count = 0, pcvar_repeat
new counter_add, counter_remove

public plugin_init()
{
register_plugin("Automatic master servers register", "2.2", "Puma")
pcvar_repeat = register_cvar("sm_repeat", "1")
set_task(10.0, "delay_load")
}

public plugin_end()
if(enabled)
setmaster_removeall()

public delay_load()
{
new configsdir[200], SetMasterFile[200], Result
new fSize, temp

get_configsdir(configsdir,199)
format(SetMasterFile,199,"%s/setmaster.ini",configsdir)
if(!file_exists(SetMasterFile))
{
server_print("Error: Coudn't find %s", SetMasterFile)
return PLUGIN_HANDLED
}
fSize = file_size(SetMasterFile,1);
if(!fSize)
{
server_print("Error: %s is empty", SetMasterFile)
return PLUGIN_HANDLED
}
for(new i=0; i < fSize; i++)
{
Result = read_file(SetMasterFile, i, Masters[i], 63, temp)
if(!Result)
continue

replace_all(Masters[i], 190, "setmaster add", "")
replace_all(Masters[i], 190, "setmaster remove", "")
Count++
}
server_print("setmaster.ini loaded (%d)", Count)
enabled = true
if(enabled)
{
counter_add = 0
set_task(0.1, "update", TASK_UPDATE+1)
}

set_task(300.0, "heartbeat", TASK_UPDATE, "", 0, "b")
return PLUGIN_CONTINUE
}

public heartbeat()
{
if(get_pcvar_num(pcvar_repeat) == 1)
{
counter_add = 0
counter_remove = 0
set_task(0.1, "update", TASK_UPDATE)
}
server_cmd("heartbeat")
}

public cmd_update(id)
{
set_task(0.1, "update", TASK_UPDATE)
}

public update(taskid)
{
//update part
if(taskid == TASK_UPDATE)
{
if(Count > counter_remove)
{
server_cmd("setmaster remove %s", Masters[counter_remove])
counter_remove++

set_task(DELAY, "update", TASK_UPDATE)
}
else
{
counter_add = 0
counter_remove = 0
set_task(0.1, "update", TASK_UPDATE+1)
}
}
//add part
else if(taskid == TASK_UPDATE+1)
{
if(Count > counter_add)
{
server_cmd("setmaster add %s", Masters[counter_add])
counter_add++

set_task(DELAY, "update", TASK_UPDATE+1)
}
else
{
counter_add = 0
counter_remove = 0
}
}
}

stock setmaster_removeall()
for(new i=0; i < Count; i++)
server_cmd("setmaster remove %s", Masters[i])

Скачать плагин setmaster_2.2.zip [8,91 Kb] (cкачиваний: 1631)

2. Открыть файл dproto.cfg и заменить переменные:
// Чтобы работа встроенного мастер клиента в дпрото выводил в логи свою работу
LoggingMode = 2

// Включим встроенный мастер-клиент
MasterClient = 1

// Выставим GameVersion, который будет отправляться на мастер-сервер.
Master_GameVersion = 1.6.3.7/Stdio

3. Запускать сервер с параметром -nomaster (в строке запуска) //по возможности

FAQ:
Q: Нужно ли прописывать в server.cfg какие-нибудь мастер-сервера?
A: Нет, всё делает плагин при инициализации

Q: Зачем мне ставить MasterClient = 1?
A: Потому что билд косячит со встроенным мастер-клиентом, в результате не у всех сервер будет виден на мастер-серверах.

Q: Я получаю в консоли сообщения типа: [DPROTO]: MasterClient: Server xxx.xxx.xxx.xxx:27010: Bad Challenge, как это исправить, и что это означает?
A: Исправит эту проблему dproto ,при дополнительном запросе на добавлений на мастер сервере , ошибка означает, что на мастер-сервере в текущее время забит мастер, и он выдаёт серверу неправильный Challenge номер)

Q: Что за сообщения: [DPROTO]: [MEMU]: Hello sent to xxx.xxx.xxx.xxx:27010 и [DPROTO]: [MEMU]: Info sent to xxx.xxx.xxx.xxx:27010?
A: Сообщения дают вам знать, что мастер-клиент dproto отправляет пакеты добавления сервера и heartbeat пакеты.

Q: А css.setti.info / сетти не забанит за эту настройку на сервере?
A: Нет, если вы не будите это использовать на своём фейковом сервере

Q: Чем тут помогает встроенный в dproto мастер-клиент (MasterClient = 1)?
A: Данный клиент исправляет косяк отображения числа игроков онлайн, с обычным мастер-клиентом это значение вело себя нестабильно, в следствии, видимость от части ухудшалась.

Q: Что написать в steam.inf ?
A: Оставить как есть ,тк если в dproto.cfg MasterClient = 1 ,то значение в steam.inf не берёться в счёт

Q: Что делает параметр -nomaster ?
A: Лишь добавляет от себя(hlds) 2 рандомных рабочих мастера ,если запускать с -nomaster + плагином то регистрация на мастер сервере всёравно проходит

Q: Зачем ставить именно 1.6.3.7/Stdio а не другое значение
A: Чтобы мастера не посчитали ваш сервер "старым" ,тк на мастерах стойт проверка данного значения ,если оно в допустимых пределах мастер добавит сервак ,в противном случий получите в консоли сообшение означаюшие что надо обновить HLDS

Q: У меня в консоли пишит Invalid address "xxx.xxx.xxx.xxx:xxx", setmaster command ignored
A: Ответ один ,или плагин выполняет часть удаления сетмастеров из себя (setmaster remove IP) когда они не добавлялись (при первом запуске обычно такое можно увидить) ,или ваш сервер уже добавлен на данный мастер сервак ,тк делая добавление реже чем примерно 5 минут мастер отвечает данным сообшением

Q: Что такое "heartbeat" ?
A: Команда которая отправляет мастер серверу пакет с некоторой инфой, это заставит мастер сервер не удалять ваш сервер через 5 минут в случий если он присутствует в списке мастер сервера


Изминения:
* Улучшен код плагина
+ Теперь список мастер серверов можно посмотреть/изменить в файле setmaster.ini (amxmodx/configs/setmaster.ini)



Категория: Статьи | Добавил: 1hp
Просмотров: 643 | Загрузок: 75 | Комментарии: 1 | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Мини-профиль
Понедельник
07.07.2025
06:32


[ Управление профилем ]

Состав клана
Reb.tm | 1hp(zcl)
Reb.tm | 3JIou 3y6acTuK
Reb.tm | SCHOKK
Reb.tm | kent
Reb.tm | Ultimate
Reb.tm | PiP$ik
Reb.tm | Anti [zm*^]
Reb.tm | LM@O(cl)
>> Пополнить ряды <<
Полный состав клана
Мини-чат

Все права защищены! | Хостинг от uCoz 

www.PwnBy.uCoz.Com © 2011-2025 | Карта Сайта | Карта Форума 

 Дизайн сайта и его материалы - SCHOKK & 1hp

Рейтинг игровых сайтов