Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

> Информационная доска

Данный раздел предназначен для обсуждения, а также решения технических проблем связанных с серверной частью. Обсуждения касательно игровых клиентов ведутся здесь.

1. Во время создания новой темы аккуратно оформляйте её, не допускайте грамматических ошибок.
2. Описывая проблему старайтесь, как можно больше рассказать о ней, а так же о действиях с сервером после которых она возникла, по возможности подкрепите информацию логами.
3. Если вопрос касается проблемы в работе сервера, то обязательно прикрепляйте список плагинов (введите в консоли сервера: meta list и amxx plugins), настройки server.cfg, логи. Так же указывайте операционную систему, версию HLDS (введите к консоли сервера: version) и где хостится сервер.

Длинную информацию скрывайте под спойлер.

UMM Autorestart

, Рестарты по среди карты
Статус пользователя ToL9N4eG
сообщение 30.12.2013, 21:25
Сообщение #1
Стаж: 13 лет

Сообщений: 227
Благодарностей: 35
Полезность: 14

Помогите, пожалуйста. В общем сделал сервер на одну карту поставил авторестарт сервера каждый час. Теперь UMM Autorestart может сработать через 20/30/40/50 минут игрового времени. Когда стоял рестарт карты каждые 25 минут, все было нормально.
Собственно исходники плагинов:
UMM Autorestart
Код:
#include <amxmodx>
#include <fun>

#define PLUGIN_NAME "UFPS Auto Restart"
#define PLUGIN_VERSION "3.8"
#define PLUGIN_AUTHOR "UFPS.Team"

#define HUD_RESTART 220, 160, 0, -1.0, 0.8, 0, 0.0, 1.03, 0.0, 0.0, 5
#define HUD_LAST 100, 200, 0, -1.0, 0.8, 0, 0.0, 3.0, 0.0, 2.0, 5

#define TASK_ID_ARR_COUNTDOWN 8854

new message[128]

new g_arr_limit
new g_arr_round
new g_arr_HudSync
new g_arr_countdown

new bool:g_arr_voteplayer[33] = { false, ... }

new pcv_admin_level
new pcv_admin_voteweight

new pcv_autorestart
new pcv_autorestart_hud
new pcv_autorestart_time
new pcv_autorestart_limit
new pcv_autorestart_protect
new pcv_autorestart_voteratio

public plugin_init()
{
register_plugin ( PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR )
register_dictionary ( "umm.txt" )

register_event ( "ResetHUD", "event_reset_hud", "be" )
register_event ( "TextMsg", "event_start_game", "a", "2=#Game_Commencing" )
register_logevent ( "event_start_round", 2, "0=World triggered", "1=Round_Start" )

register_clcmd ( "say /rr", "cmd_say_rr", 0, "- vote restart" )
register_clcmd ( "say_team /rr", "cmd_say_rr", 0, "- vote restart" )

pcv_autorestart = register_cvar ( "umm_autorestart", "0" )
pcv_autorestart_hud = register_cvar ( "umm_autorestart_hud", "1" )
pcv_autorestart_time = register_cvar ( "umm_autorestart_time", "20" )
pcv_autorestart_limit = register_cvar ( "umm_autorestart_limit", "3" )
pcv_autorestart_protect = register_cvar ( "umm_autorestart_protect", "1" )
pcv_autorestart_voteratio = register_cvar ( "umm_autorestart_voteratio", "0" )

g_arr_HudSync = CreateHudSyncObj()

pcv_admin_level = get_cvar_pointer ( "umm_admin_level" )
pcv_admin_voteweight = get_cvar_pointer ( "umm_admin_voteweight" )
}

public task_arr_countdown ( )
{
if ( g_arr_countdown )
{
format ( message, sizeof ( message ) - 1, "%L", LANG_PLAYER, "SH_AUTO_RESTART_ROUND" , g_arr_countdown )

if ( g_arr_countdown < g_arr_limit )
set_cvar_float ( "sv_restart", 1.0 )

else if ( get_pcvar_num ( pcv_autorestart ) == 1 && get_pcvar_num ( pcv_autorestart_protect ) )
{
cmd_arr_protect()
format ( message, sizeof ( message ) - 1, "%s%L", message, LANG_PLAYER, "SH_AUTO_PROTECT_PLAYERS" )
}

set_hudmessage ( HUD_RESTART )
show_hudmsg ( 0 )

g_arr_countdown--

set_task ( 1.0, "task_arr_countdown", TASK_ID_ARR_COUNTDOWN )
}
}

public task_arr_countlast ( )
{
if ( task_exists ( TASK_ID_ARR_COUNTDOWN ) )
remove_task ( TASK_ID_ARR_COUNTDOWN )

show_hudmsg ( 0 )
cmd_clear_vote ( )
}

public cmd_arr_protect ( )
{
new players[32], num

get_players ( players, num, "h" )

for ( new i=0; i<num;i ++ )
if ( !is_user_hltv ( players[i] ) && is_user_alive ( players[i] ) && !get_user_godmode ( players[i] ) )
set_user_godmode ( players[i], 1 )
}

public cmd_say_rr ( id )
{
if ( !get_pcvar_float ( pcv_autorestart_voteratio ) ||
task_exists ( TASK_ID_ARR_COUNTDOWN ) ||
( get_pcvar_num ( pcv_autorestart ) == 1 && g_arr_round < 2 ) ||
( get_pcvar_num ( pcv_autorestart ) == 2 && g_arr_round < 3 )
)
{
client_print ( id, print_chat, "%L", id, "CL_VOTE_RR_DISABLE" )
return PLUGIN_HANDLED
}

if ( g_arr_voteplayer[id] )
{
client_print ( id, print_chat, "%L", id, "CL_VOTE_RR_ALREADY" )
}

else
{
new name[32]
get_user_name ( id, name, sizeof ( name ) - 1 )
client_print ( 0, print_chat, "%L", LANG_PLAYER, "CL_VOTE_RR", name )
log_amx ( "%L", LANG_SERVER, "CL_VOTE_RR", name )
g_arr_voteplayer[id] = true
}

new players[32], num, voted
get_players ( players, num, "ch" )

for ( new i = 0; i < num; ++i )
{
if ( g_arr_voteplayer[players[i]] )
{
if ( get_user_flags ( players[i] ) & get_admin_level_flag() )
voted += get_pcvar_num ( pcv_admin_voteweight )

else
voted++
}
}

if ( floatround (get_pcvar_float ( pcv_autorestart_voteratio ) * 100 ) > ( voted * 100 / num ) )
{
client_print ( 0, print_chat, "%L", LANG_PLAYER, "CL_VOTE_RR_PLAYERS", voted, floatround ( get_pcvar_float ( pcv_autorestart_voteratio ) * num + 0.49 ) )
log_amx ( "%L", LANG_SERVER, "CL_VOTE_RR_PLAYERS", voted, floatround ( get_pcvar_float ( pcv_autorestart_voteratio ) * num + 0.49 ) )

return PLUGIN_CONTINUE
}

client_print ( 0, print_chat, "%L", LANG_PLAYER, "CL_VOTE_RR_ALL" )
log_amx ( "%L", LANG_SERVER, "CL_VOTE_RR_ALL" )

g_arr_limit = check_pcvar ( get_pcvar_num ( pcv_autorestart_limit ), 1, 3 ) + 1
g_arr_countdown = g_arr_limit - 1

set_task ( 1.0, "task_arr_countdown", TASK_ID_ARR_COUNTDOWN )

return PLUGIN_CONTINUE
}

public event_start_round ( )
{
g_arr_round++

switch ( get_pcvar_num ( pcv_autorestart ) )
{
case 1:
{
if ( g_arr_round == 1 )
{
if ( task_exists ( TASK_ID_ARR_COUNTDOWN ) )
return PLUGIN_CONTINUE

g_arr_countdown = check_pcvar ( get_pcvar_num ( pcv_autorestart_time ), 10, 90 )
g_arr_limit = check_pcvar ( get_pcvar_num ( pcv_autorestart_limit ), 1, g_arr_countdown ) + 1

set_task ( 1.0, "task_arr_countdown", TASK_ID_ARR_COUNTDOWN )
}
}

case 2:
{
if ( g_arr_round == 2 )
{
if ( task_exists ( TASK_ID_ARR_COUNTDOWN ) )
return PLUGIN_CONTINUE

g_arr_limit = check_pcvar ( get_pcvar_num ( pcv_autorestart_limit ), 1, 3 ) + 1
g_arr_countdown = g_arr_limit - 1

set_task ( 1.0, "task_arr_countdown", TASK_ID_ARR_COUNTDOWN )
}
}
}

return PLUGIN_CONTINUE
}

public event_reset_hud ( id )
{
if ( task_exists ( TASK_ID_ARR_COUNTDOWN ) )
show_hudmsg ( id )

return PLUGIN_CONTINUE
}

public event_start_game ( )
{
g_arr_round = 0

return PLUGIN_CONTINUE
}

public get_admin_level_flag ( )
{
new flags[24]

get_pcvar_string ( pcv_admin_level, flags, sizeof ( flags ) - 1 )

if ( !strlen ( flags ) )
copy ( flags, sizeof ( flags ) - 1, "b" )

return ( read_flags ( flags ) )
}

cmd_clear_vote ( )
{
for ( new i = 0; i < 33; ++i )
g_arr_voteplayer[i] = false
}

show_hudmsg ( id )
{
if ( get_pcvar_num ( pcv_autorestart_hud ) )
ShowSyncHudMsg ( id, g_arr_HudSync, "%s", message )
}

check_pcvar ( var, min, max )
{
new value = var

if ( value < min )
value = min

else if ( value > max )
value = max

return value
}

public client_disconnect ( id )
{
g_arr_voteplayer[id] = false

return PLUGIN_CONTINUE
}

public plugin_end ( )
{
if ( task_exists ( TASK_ID_ARR_COUNTDOWN ) )
remove_task ( TASK_ID_ARR_COUNTDOWN )
}
/* Файл скачаен с сайта http://make-amxserv.ru/.
*/
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1049\\ f0\\ fs16 \n\\ par }
*/
Конфиг
umm_autorestart "1"
umm_autorestart_limit "3"
umm_autorestart_time "15"
umm_autorestart_protect "1"
umm_autorestart_hud "1"
umm_autorestart_voteratio "0"
Рестарт сервера
Код:
#include <amxmodx>

new g_pEnable,
g_pShowTimer,
g_pTime;

new g_iCounter,
g_iHour,
g_iMinute,
g_iSecond;

public plugin_init( )
{
register_plugin( "1337 Restarter", "1.4", "mateo10" );

g_pEnable = register_cvar( "1337_restarter", "1" );
g_pShowTimer = register_cvar( "1337_showtimer", "1" );
g_pTime = register_cvar( "1337_restarttime", "60" );

g_iCounter = get_pcvar_num( g_pTime ) * 60;

set_task( 1.0, "fnCountDown", 0, "", 0, "b" );
}

public fnCountDown( )
{
if( !g_iCounter-- && get_pcvar_num( g_pEnable ) )
{
server_cmd( "restart" );
return PLUGIN_HANDLED;
}

if( get_pcvar_num( g_pShowTimer ) )
{
g_iHour = g_iCounter / 3600;
g_iMinute = g_iCounter % 3600 / 60;
g_iSecond = g_iCounter % 3600 % 60;
set_hudmessage( 0, 100, 0, -0.8, 0.0, 0, 0.01, 1.0, 0.0, 0.0, -1 )
show_hudmessage( 0, "До рестарта %02d:%02d:%02d", g_iHour, g_iMinute, g_iSecond )
}

return PLUGIN_HANDLED;
}
Конфиг
1337_restarter "1"
1337_showtimer "1"
1337_restarttime "60"
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Safety1st
сообщение 30.12.2013, 21:32
Сообщение #2
Стаж: 14 лет
Город: Moscow

Сообщений: 7228
Благодарностей: 8071
Полезность: 196

UFPS Auto Restart - это аддон к UFPS Map Manager. Это по сути приватный плагин, по желанию авторов его могут использовать только пользователи DS и его поддержка производится только на том ресурсе.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя ToL9N4eG
сообщение 30.12.2013, 21:34
Сообщение #3
Стаж: 13 лет

Сообщений: 227
Благодарностей: 35
Полезность: 14

Т.е. здесь никто с решением проблемы не поможет?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Sky Cat
сообщение 30.12.2013, 21:35
Сообщение #4
Стаж: 13 лет
Город: Белгород

Сообщений: 1179
Благодарностей: 734
Полезность: 1056

Хах) В мои разделы насчет UFPS не пишут.

Цитата(ToL9N4eG @ 30.12.2013, 23:34) *
Т.е. здесь никто с решением проблемы не поможет?

Удалите свой пост и идите на форум автора

Господи кто такой умный дает ключи всем на регистрацию

Отредактировал: Sky Cat, - 30.12.2013, 21:36


я знаю, что я ничего не знаю
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя gudaus
сообщение 30.12.2013, 21:40
Сообщение #5


Стаж: 14 лет

Сообщений: 1571
Благодарностей: 1211
Полезность: 741

Цитата(ToL9N4eG @ 30.12.2013, 23:34) *
Т.е. здесь никто с решением проблемы не поможет?

Более того, на DS тоже скорее всего никто не поможет, так как потребуется регистрация в отдельный раздел, а это долго, нудно и платно. Проще поставить другой плагин.

Цитата(Sky Cat @ 30.12.2013, 23:35) *
Господи кто такой умный дает ключи всем на регистрацию

Она вновь открыта.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя ToL9N4eG
сообщение 30.12.2013, 21:40
Сообщение #6
Стаж: 13 лет

Сообщений: 227
Благодарностей: 35
Полезность: 14

Цитата(gudaus @ 30.12.2013, 22:38) *
Более того, на DS тоже скорее всего никто не поможет, так как потребуется регистрация в отдельный раздел, а это долго, нудно и платно. Проще поставить другой плагин.

Так, наверно, и сделаю. Хоть 1 адекватный ответ.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Safety1st
сообщение 30.12.2013, 21:45
Сообщение #7
Стаж: 14 лет
Город: Moscow

Сообщений: 7228
Благодарностей: 8071
Полезность: 196

Ответ, может, и адекватный, но gudaus прав только наполовину) Долго и мб нудно - мб да, но регистрация не в отдельный раздел и не платная.
Нужно пройти проверку своего игрового ресурса, получить статус Проверенный.

Цитата(Safety1st)
Какие сейчас права доступа к разделу 'AmxModX плагины и скриптинг' и его подразделам?
Цитата(Asmodai)
Проверенный и выше. Будут еще изменения.


Мой второй ответ за адекватный прокатит? xDD
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя Sky Cat
сообщение 30.12.2013, 21:46
Сообщение #8
Стаж: 13 лет
Город: Белгород

Сообщений: 1179
Благодарностей: 734
Полезность: 1056

Цитата(ToL9N4eG @ 30.12.2013, 23:40) *
Так, наверно, и сделаю. Хоть 1 адекватный ответ.

UFPS на данном форуме не обсуждается по просьбам авторов.
Извините за хамство. Очень много пользователей с аналогичными проблемами и с UFPS. В Private Messages отписал вам.


я знаю, что я ничего не знаю
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя C4acTbe
сообщение 30.12.2013, 21:52
Сообщение #9


Стаж: 13 лет

Сообщений: 880
Благодарностей: 408
Полезность: 706

Цитата(Safety1st @ 30.12.2013, 21:45) *
Ответ, может, и адекватный, но gudaus прав только наполовину) Долго и мб нудно - мб да, но регистрация не в отдельный раздел и не платная.
Нужно пройти проверку своего игрового ресурса, получить статус Проверенный.

Давненько когда еще зарегался там, все проверки прошел, но такого статуса не получил почему то. (тогда рега еще была платной)
Может я один такой 'везучий'..

Отредактировал: C4acTbe, - 30.12.2013, 21:54
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя gudaus
сообщение 30.12.2013, 21:59
Сообщение #10


Стаж: 14 лет

Сообщений: 1571
Благодарностей: 1211
Полезность: 741

Цитата(Safety1st @ 30.12.2013, 23:45) *
Ответ, может, и адекватный, но gudaus прав только наполовину) Долго и мб нудно - мб да, но регистрация не в отдельный раздел и не платная.
Нужно пройти проверку своего игрового ресурса, получить статус Проверенный.

На что именно там проверяют ресурс? Если увидят у ТС umm - не откажут ли в регистрации?
Явно не просто проверка на гадости, сейчас на них любой буст проверяет.
У меня сервер за месяц не проверили, после чего забил. Тогда как раз пошла волна брутов, пришлось удалить ркон.
DS произвёл впечатление бардака. Пока там на форуме найдёшь что нужно - ужас.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя ToL9N4eG
сообщение 30.12.2013, 22:01
Сообщение #11
Стаж: 13 лет

Сообщений: 227
Благодарностей: 35
Полезность: 14

Цитата(gudaus @ 30.12.2013, 22:59) *
На что именно там проверяют ресурс? Если увидят у ТС umm - не откажут ли в регистрации?
Явно не просто проверка на гадости, сейчас на них любой буст проверяет.
У меня сервер за месяц не проверили, после чего забил. Тогда как раз пошла волна брутов, пришлось удалить ркон.

rcon defencer + anti hlbrute. даже rcon defencer'а с головой должно хватить.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Safety1st
сообщение 30.12.2013, 22:06
Сообщение #12
Стаж: 14 лет
Город: Moscow

Сообщений: 7228
Благодарностей: 8071
Полезность: 196

Цитата(gudaus @ 30.12.2013, 23:59) *
На что именно там проверяют ресурс? Если увидят у ТС umm - не откажут ли в регистрации?

Пусть это будет тайной или сюрпризом) По мне чем меньше пройдёт проверку - тем лучше для ресурса.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя r1nk0
сообщение 6.1.2014, 14:39
Сообщение #13


Стаж: 12 лет

Сообщений: 1417
Благодарностей: 705
Полезность: 349

А есть нормальная альтернатива этому авторестарту?


Создание и редактирование карт ($) - vk.com/id476857873
Настройка и техническое обслуживание ваших игровых серверов - vk.com/id476857873
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Bloo
сообщение 6.1.2014, 15:03
Сообщение #14


Стаж: 12 лет

Сообщений: 15547
Благодарностей: 6971
Полезность: 1206

UMM Warmup pardon.gif
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 2 гостей читают эту тему: