SA:MP 0.3z в основном представляет собой обновление безопасности, стабильная версия которого будет выпущена в ближайшее время.
Также добавлено несколько новых возможностей:
Обновлена синхронизация пуль для огнестрельного оружия
Выстрелы игроков теперь рассчитываются с учётом пинга, поэтому вы можете стрелять прямо по скину вместо прицеливания по пингу.
Сервер может получить полную информацию о пулях. Теперь можно узнать, попала ли пуля по игроку, машине или объекту.
PHP код:
#define BULLET_HIT_TYPE_NONE 0
#define BULLET_HIT_TYPE_PLAYER 1
#define BULLET_HIT_TYPE_VEHICLE 2
#define BULLET_HIT_TYPE_OBJECT 3
#define BULLET_HIT_PLAYER_OBJECT 4
Добавлена новая функция
OnPlayerWeaponShot, вызываемая сервером при каждом выстреле:
PHP код:
forward OnPlayerWeaponShot(playerid, weaponid, hittype, hitid, Float:fX, Float:fY, Float:fZ);
Автовызываемые функции OnPlayerGiveDamage и OnPlayerTakeDamage теперь получают ID части тела, по которой произведено попадание.
Если в вашем скрипте используются эти функции, вам понадобится обновить их.
Обновления:
SA:MP 0.3z RC5-2- Исправлено: Игрок с самым большим ID не отсылал информацию об обновлении незанятого транспорта.
SA:MP 0.3z RC5- В браузере серверов исправлена ошибка выхода за пределы диапазона при добавлении сервера с неправильным портом.
- Добавлены некоторые внутренние оптимизации в клиенте, которые должны увеличить производительность.
- Исправлена проблема с недоступностью PVar'ов в OnPlayerDisconnect во время рестарта сервера.
- Добавлена функция GetServerTickRate(), возвращающая количество серверных тиков в секунду (наподобие FPS).
- Исправлена проблема с видимостью 3D-текстов и никаов игроков сквозь серверные объекты.
- Изменения в поведении и параметрах колбэка OnUnoccupiedVehicleUpdate:
В предыдущих версиях клиенты могли посылать данные об обновлении транспорта, который не был занят другими игроками, при этом у сервера не было возможности отменить эти обновления.
Теперь скрипт будет оповещаться о подобных обновлениях до того, как транспорт будет обновлён на сервере. GetVehiclePos будет возвращать текущие координаты вместо новых.
В новых параметрах будут передаваться координаты транспорта, сообщённые игроком. Теперь скрипт может вернуть 0, чтобы отменить обновление транспорта, и 1, чтобы позволить обновление.
Все скрипты, использующие колбэк OnUnoccupiedVehicleUpdate должны быть обновлены и перекомпилированы для работы в 0.3z.
PHP код:
forward OnUnoccupiedVehicleUpdate(vehicleid, playerid, passenger_seat, Float:new_x, Float:new_y, Float:new_z);
- В server.cfg добавлена опция 'lagcompmode'.
Опция 'shotcompmode' была заменена на 'lagcompmode', чтобы использоваться для настройки компенсации пинга в будущих версиях SA:MP.
Код:
lagcompmode 0 ; выкл. компенсацию пинга
lagcompmode 1 ; (по умолчанию) вкл. компенсацию пинга
lagcompmode 2 ; вкл. компенсацию пинга только для обновления позиций.
- Теперь браузер серверов будет показывать режим 'lagcomp' в свойствах сервера.
- Если компенсация пинга выключена, будет действовать старый режим стрельбы по пингу (без вызовов OnPlayerWeaponShot и т.п.).
SA:MP 0.3z RC4- Исправлена проблема с промахами при выстрелах на большом расстоянии.
- Проверки тега LoS теперь применяются и к серверным объектам.
- OnPlayerGiveDamage теперь вызывается и у NPC-ботов.
- Добавлена функция GetPlayerLastShotVectors для получения расширенной информации о выстрелах.
PHP код:
native GetPlayerLastShotVectors(playerid, &Float:fOriginX, &Float:fOriginY, &Float:fOriginZ, &Float:fHitPosX, &Float:fHitPosY, &Float:fHitPosZ);
- Добавлена настройка режима стрельбы (shotcompmode 2 в server.cfg), позволяющая использовать камеру для наведения и авто-прицеливание с помощью геймпада.
- Исправлено: По игрокам нельзя было попасть из оружия, когда они ехали на крыше машины.
- Добавлена расширенная информация о камере игрока, такая как соотношение сторон экрана и уровень увеличения (для снайперской винтовки).
PHP код:
native Float:GetPlayerCameraAspectRatio(playerid);
native Float:GetPlayerCameraZoom(playerid);
- Добавлены функции для получения расширенной информации о сетевом протоколе. Теперь в Pawn можно будет получить эту информацию без парсинга строки из GetPlayerNetworkStats
PHP код:
native NetStats_GetConnectedTime(playerid);
native NetStats_MessagesReceived(playerid);
native NetStats_BytesReceived(playerid);
native NetStats_MessagesSent(playerid);
native NetStats_BytesSent(playerid);
native NetStats_MessagesRecvPerSecond(playerid);
native Float:NetStats_PacketLossPercent(playerid);
native NetStats_ConnectionStatus(playerid);
native NetStats_GetIpPort(playerid, ip_port[], ip_port_len);
SA-MP 0.3z RC3- Исправлено: Включение автоприцеливания при нажатии Q и E.
- Исправлено: Снаряды от снайперской винтовки не работали за пределами карты.
- Доп. данные на стороне сервера для обнаружения модифицированных данных о выстреле.
- Добавлена функция VectorSize.
SA-MP 0.3z RC2- Удалена возможность автоприцеливания с помощью Joypad
- Добавлена константа BULLET_HIT_PLAYER_OBJECT (4)
- Исправлена проблема с эффектами дыма и отлетающих гильз от оружия.
Прочее- В файл server.cfg добавлен параметр 'messageholelimit' для предотвращения DoS-атак.
ОписаниеЭто переменная для протокола RakNet (уязвимости в котором были использованы для недавних атак).
Когда клиент/игрок отсылает на сервер поддельные пакеты, сервер думает, что во время доставки было потеряно много пакетов/сообщений.
Протокол попытается восстановить потерянные пакеты: зарезервирует под них место в памяти и будет ждать, пока клиент не пришлёт эти пакеты заново.
На весь этот процесс уходит много ресурсов и при большом количестве потерь может привести к лагам и крашу сервера.
На сервере нет чётких ограничений в количестве потерянных сообщений от игрока. Каждый потерянный блок пакетов можно было считать уязвимостью. Были попытки исправить это в 0.3x R2, был поставлен лимит в 1000 и иногда, если у игроков были проблемы с интернетом и терялось много пакетов, сервер по ошибке принимал это за попытку DoS-атаки.
Теперь можно вручную указать максимальное кол-во потерянных пакетов. Чаще всего значения по умолчанию уже достаточно и владельцам серверов не стоит беспокоиться об этом.
- Мод rivershell обновлён до 2-й версии.
Скачать:
Оригинал: http://forum.sa-mp.com/showthread.php?p=2867375
Перевод: Daniel_Cortez, ^_^
Копирование данной статьи на других ресурсах без разрешения авторов запрещено!
Посмотрим, как быстро статью скопируют на говно-инфо...