Итак, спустя год после предыдущей версии, вышла новая версия SA:MP, 0.3z.
Что нового:
- R1:
- Опциональный режим компенсации пинга увеличивает точность стрельбы.
- Новые колбэки Pawn для большего контроля над оружием игроков и транспортом.
- Функции статистики сетевого протокола упрощают администрирование серверов.
- Множество мелких обновлений безопасности для клиента и сервера.
Подробно:
- R1-2:
- Исправлено обновление оружия у игроков, находящихся в транспорте.
- R2-1:
- Исправлена уязвимость в сетевом протоколе, позволявшая с помощью специальных утилит вызывать зависание сервера и потерю соединения с игроками.
- В server.cfg добавлены переменные "messageslimit", "ackslimit" и "playertimeout". Каждая из них представляет собой ограничение, после превышения которых сервер разрывает соединение с игроком.
messageslimit (по умолч.: 500) - макс. количество сообщений в секунду, посылаемых от сервера к игроку.
ackslimit (по умолч.: 1000) - макс. количество сообщений в секунду, посылаемых от игрока к серверу.
playertimeout (по умолч.: 10000) - макс. время тайм-аута (в миллисекундах), во время которого клиент может не посылать серверу ни одного пакета.
При разрыве соединения в результате превышения лимитов messageslimit и ackslimit выводятся следующие сообщения:
При частых ложных срабатываниях рекомендуется увеличить в server.cfg значения указанных в сообщениях лимитов.Код:Warning: client exceeded 'messageslimit' (1) <IP>:<порт> (<кол-во>) Limit: 500/sec
Warning: client exceeded 'ackslimit' <IP>:<порт> (<кол-во>) Limit: 1000/sec
- R2-2:
- Значение ackslimit в server.cfg по умолчанию увеличено с 1000 до 3000.
- Добавлен колбэк OnIncomingConnection, в которую передаются IP-адрес и порт подключившегося игрока.
PHP код:
forward OnIncomingConnection(playerid, ip_address[], port);
- Добавлены новые функции:
PHP код:
// блокирует подключения с указанного IP-адреса, допускается указание подсети
native BlockIpAddress(ip_address[], timems);
// удаляет IP из списка блокировки
native UnBlockIpAddress(ip_address[]);
// отсылает указанному игроку сообщение об убийстве
// (полезно, если нужно, чтобы не все игроки видели убийства в киллчате)
native SendDeathMessageToPlayer(playerid, killer, killee, weapon);
// создаёт взрыв, который виден только указанному игроку
native CreateExplosionForPlayer(playerid, Float:X, Float:Y, Float:Z, type, Float:Radius);
- В логи сервера больше не выводятся строки "Packet Modified".
- Также в логи больше не выводятся строки "[death]", "[kill]" и "[nick]", если значение параметра "chatlogging" в server.cfg равно 0.
Скачать:
- Клиент: http://files.sa-mp.com/sa-mp-0.3z-R1-install.exe
- Сервер:
SA-MP 0.3z R2-2 Windows Server
SA-MP 0.3z R2-2 Linux Server
SA-MP 0.3z R2-2 Linux Server (1000 players)
Источник: http://forum.sa-mp.com/showthread.php?t=494414
Перевод: Daniel_Cortez
Специально для Pro-Pawn.ruКопирование данной статьи на других ресурсах без разрешения авторов запрещено!