San Andreas Multiplayer

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку
San Andreas Multiplayer
Samp logo.jpg
Тип модифікація
Автор(и) Kalcor (Kye), Spookie
Розробник SA-MP Team
Перший випуск 0.1 (9 травня 2006)
Стабільний випуск 0.3.7 (1 травня 2015; 1175 днів тому[1])
Нестабільний випуск 0.3.DL (25 січня 2018; 175 днів тому[2])
Платформа багатоплатформність
Операційна система Windows
Linux (тільки ігровий сервер)
Написано на Pawn
Розмір
Доступні мови англійська
Українська ні
Стан розробки активний
Ліцензія вільна[3]
sa-mp.com

San Andreas Multiplayer (скорочено SA:MP) — безкоштовна багатокористувацька модифікація для відеогри Grand Theft Auto: San Andreas у версії для Windows з закритим початковим кодом. Розробляється командою «SA-MP Team» на добровільній основі, провідними програмістами проекту є дві особи з нікнеймами Kalcor (Kye) і Spookie.

Історія[ред. | ред. код]

За основу модифікації було використано аналогічну модифікацію попередньої гри серії, Grand Theft Auto: Vice City під назвою Vice City Multiplayer, випущену у квітні 2005 року. Команда творців складалася з кількох осіб, відомих у спільноті модифікаторів Grand Theft Auto, на чолі з kyeman (Kye) (наразі відомий як Kalcor) — значущою особою у спільноті модобудівничих GTA. Надаючи знімки екрана та відео, які демонстрували плин розробки (що відбувалася достатньо швидко), модифікація набула загального визнання серед GTA-спільноти та з невеликим форумом залучила близько 120 користувачів перед переїздом на новий хостинг.

Після ряду публічних бета-тестів, які набули величезної популярності (багатьом навіть доводилося чекати звільнення місць на бета-серверах), Vice City Multiplayer було нарешті випущено і майже відразу оновлено до версії 0.1d, до кінця вже маючи відкритий початковий код. Цей код було використано іншою командою розробників для продовження розвитку VC-MP (цей проект досі розвивається і наразі має версію 0.4), а команда kyeman'а (Kalcor'a) розпочала розробку SA-MP. Крім того, теперішні розробники VC-MP роблять багатокористувацьку гру як для оригінальної гри Grand Theft Auto: Vice City, так і для модифікації, що переносить місто Ліберті-Сіті на рушій гри.

Розробка SA-MP привернула великий інтерес шанувальників ігор серії GTA. У квітні 2006 року розділу на форумі GTAForums.com стало недостатньо, і розробники вирішили відкрити власний форум. У кінці березня розробка вже була повноцінним мультиплеєром і, після деяких закритих бета-тестів, у квітні-травні було проведено три публічних бета-тести. За кілька годин після третього бета-тесту, 9 травня 2006 року kyeman (Kalcor) заявив, що проект повністю готовий до випуску. Однак у релізі виявилося досить багато багів, і за кілька днів було випущено оновлення до версії 0.1b. Після цього користувачі продовжили вивчати мову програмування Pawn і створювати різноманітні ігрові режими, а самі розробники зникли на деякий час. Лише наприкінці червня в повідомленні на своєму блозі вони заявили, що розробка все ще триває, хоча в них дуже мало часу. Розробники продемонстрували кілька скріншотів можливості додавання об'єктів на карту. Ходили чутки, що незабаром вийде версія 0.1c, але до вересня нової інформації від розробників не надходило. Лише наприкінці вересня невелике оновлення блогу свідчило, що розробка триває, і було представлено невеликий список нововведень.

2 жовтня 2006 року з'явилася інформація про те, що готується нова версія 0.2. Інформацію було підкріплено великим списком нововведень і відеороликом, що показує безліч нових можливостей. Це викликало хвилю інтересу серед шанувальників SA-MP, яких тоді налічувалося вже кілька тисяч по всьому світу. Однак після цього нової інформації не було кілька місяців. Розробка дуже затягнулася і, після декількох невеликих оновлень, 9 березня 2007 року розробники представили на своєму блозі прев'ю версії 0.2 з великим списком змін і двома відеороликами, знятими на закритих бета-тестах. Також було оголошено, що незабаром буде проведено кілька публічних бета-тестів. До початку першого публічного бета-тесту пройшов іще місяць. До того часу ажіотаж з приводу нової версії досяг неймовірно великого рівня, і розробники вирішили не оголошувати про бета-тестування на своєму блозі. Натомість напередодні Великодня, 8 квітня, на сайті розробників з'явилася пасхалка у вигляді посилання, яке через кілька перенаправлень виводило користувача на IRC-канал бета-тестування, що розпочалося ввечері того ж дня. Спочатку було відкрито один сервер на 100 місць, але незабаром було запущено ще декілька серверів. Це бета-тестування тривало до 11 квітня. Наступний бета-тест пройшов лише за місяць і тривав кілька годин. Метою його було протестувати можливість сервера витримувати навантаження до 200 гравців. Після цього на блозі kyeman (Kalcor) оголосив, що буде проведено ще щонайменше два бета-тести. Наприкінці травня пройшов перший з них, після чого у блозі було оголошено деякі нововведення. 3 червня 2007 року розробники випустили RC-версію клієнта і сервери 0.2 на чотири місця, тим самим дозволивши користувачам розпочати розробку й оновлення режимів для нової версії. Протягом наступних двох тижнів було випущено ще два реліз-кандидати, і після четвертого бета-тестування, що перейшло у п'яте, 20 червня 2007 року SA-MP 0.2 була офіційно випущена. Але розробка не завершилася, і за кілька днів уже було випущено версію 0.2.1 з деякими оновленнями та виправленнями.

24 червня 2007 несподівано для користувачів команда SA-MP оголосила на своєму сайті, що припиняє роботу над модом і будь-яку його підтримку, бо не мають більше сил і можливостей боротися з людьми, які, не боячись нічого, розробляють чіти та експлойти для SA-MP. Миттєво в Інтернеті була організована петиція з вимогою до розробників повернутися до роботи над модом. За кілька годин під петицією підписалося кілька тисяч чоловік. Це спрацювало, і менше ніж за добу роботу всіх серверів SA-MP було відновлено. Наступного дня було випущено оновлення для сервера, що закриває експлойт, попереджує падіння серверу і містить вбудований античіт SAC (англ. SA-MP Anti-Cheat), що не дозволяє гравцям заходити у гру з чітерськими трейнерами або плаґінами для SA-MP. За місяць, 29 серпня 2007 року, після двох відкритих бета-тестів було випущено версію 0.2.2 і було оголошено про початок роботи над версією 0.3. А наступного дня, 30 серпня, було випущено клієнт SA-MP версії 0.2.2 R2, що усуває кілька помилок, знайдених у версії 0.2.2 відразу ж після релізу.

13 травня 2008 року, несподівано для всіх, команда SA-MP закрила сайт і оголосила про кінець розробки SA-MP. За кілька днів сайт був відновлено, і на ньому з'явилася новина про закінчення розробки SA-MP. Вночі 23 травня було відновлено форум. 21 червня 2008 року для вирішення проблем з безпекою було випущено версію 0.2.2 R3. Також в оновленні були виправлені деякі баги і збільшено обмеження кількості моделей машин. Оновлення стосувалося лише клієнта.

20 листопада 2008 року було випущено версію SA-MP 0.2x. Більшість змін не були значними для звичайного гравця, за винятком поліпшення синхронізації та усунення проблем з вильотом клієнта. У вкладці «Internet» сервери версії 0.2.2 більше не з'являються. Більшість серверів переведено на версію SA-MP 0.2x. Також було оголошено про розробку версії SA-MP 0.3. Раніше обіцяну версію SA-MP 0.2.5 випущено не буде.

14 серпня 2009 року розпочалися публічні бета-тестування SA-MP 0.3. 15 серпня відбулося друге бета-тестування, в якому взяло участь понад 400 гравців. 19 жовтня було випущено фінальну версію 0.3a. Згодом було випущено кілька незначних оновлень в лінійці даної версії. 11 серпня 2010 року розпочалося тестування версії 0.3b, а її випуск відбувся 21 серпня 2010 року. 28 листопада 2010 року до мережі потрапили клієнт і сервер (Windows і Linux) RC2-версії 0.3c.

На початку 2012 року вийшла версія SA: MP 0.3d. У травні 2012 року вийшов SA: MP 0.3e. На початку 2013 року вийшов клієнт SA: MP 0.3x. 13 лютого 2014 року офіційно вийшли клієнт і сервер 0.3z. 18 січня 2015 року вийшла перша бета-версія SA: MP 0.3.7 RC-1. Розробники урізноманітнили гілку 0.3. До даної версії було внесено значні зміни.

1 травня 2015 року вийшов SA: MP 0.3.7. 13 липня 2015 року вийшло оновлення для сервера SA: MP 0.3.7 R2. 4 листопада 2017 року вийшла тестова версія SA: MP 0.3.8. 13 січня 2018 року версія SA: MP 0.3.8 була скасована та анонсована нова версія SA: MP 0.3.DL, яка дає можливість розробникам ігрових серверів завантажувати модифікації на сервер (нові моделі персонажів, об'єктів).

Історія версій SA: MP[4][5]
Версія Реліз Дата релізу Список значних змін
0.1 0.1 9 травня 2006 Перший публічний реліз
0.1b 21 травня 2006 Виправлено кілька багів і падінь клієнта та сервера
0.1b R2 17 лютого 2007
0.2 0.2 20 червня 2007
  • Додано велику кількість функцій, методів і колбеків, а також покращено чи доповнено наявні
  • До консолі віддаленого адміністрування додано блокування за IP-адресою
  • Адміністратори тепер мають змогу телепортуватися за допомогою міток на карті
  • Додано контрольні точки у стилі перегонів
  • В інтер'єрах тепер можна стріляти
  • Трейлери та зміна погоди
  • Додано можливість динамічно створювати автомобілі
  • Додано поїзди
  • Після смерті гравців їхня зброя лишається на землі
  • Збереження положення транспорту на сервері
  • Тепер консоль віддаленого адміністрування має доступ до команд Pawn
  • Нова команда віддаленого адміністрування players для виведення імені й IP-адреси гравця
  • Виправлення помилок, пов'язаних зі зброєю:
    • Синхронізація перезаряджання
    • Instagib — різновид режиму Deathmatch зі зброєю з великою шкодою й повільним перезаряджанням
    • Дружній вогонь
  • Погода, об'єкти, паралельні світи, анімації пішоходів та індивідуальний відлік часу для кожного гравця
  • Підтримка до 200 гравців онлайн, до 700 автомобілів та до 70 різних їх типів
  • Території впливу банд та війни за них
  • Додано екранний текст і меню
  • Рівень поліцейського розшуку
  • Чат на обмеженій відстані та функції Pawn для чату
  • Радіокерований транспорт
  • Підтримка віконного режиму гри — згортання та розгортання вікна відбувається за допомогою комбінації клавіш Alt+ Enter
  • Виправлено різноманітні помилки та падіння
0.2.1 24 червня 2007 Реалізовано SAC (англ. SA-MP Anti-Cheat)
0.2.1 R2 25 липня 2007
0.2.2 29 серпня 2007
  • Вікно чату тепер можна прокручувати за допомогою клавіш Page Up і Page Down на п'ять сторінок, що еквівалентно 50 рядкам тексту
  • Чат тепер має обмеження максимальної довжини тексту до 128 символів, а також його виділення, копіювання Ctrl+C і вставки Ctrl+V
  • Максимальну кількість маркерів підбирання (англ. pickup) підвищено до 400
  • Сервер тепер може вимикати вхід і вихід з інтер'єрів
  • СКБД MySQL замінено легшим аналогом — SQLite
  • Покращено античіт SAC
  • Синхронізація повороту голів гравців; тепер персонажі дивитимуться у напрямку камери
  • Реалізовано візуалізацію телефонних розмов, у тому числі модель телефону в руці
  • Нові скіни: Тенпенні, Пуласкі, Хернандез, Райдер, Смоук, Світ і бос мафії
  • Виправлення різноманітних помилок та інші поліпшення
0.2.2 R2 30 серпня 2007 Вирішено кілька проблем на боці клієнта
0.2.2 R3 20 червня 2008 Тільки для клієнта:
  • Видалено весь код античіту SAC через проблеми безпеки
  • Імпортовано частину коду утримання на транспорті з версії 0.2.5
  • Додано команду /fpslimit для калібрування обмежувача швидкості зміни кадрів. Допустимими значеннями є 20-100
  • Різноманітні поліпшення та виправлення помилок
0.2x 20 листопада 2008
  • Обмежено максимальну кількість фільтрувальних скриптів (англ. filterscript) до 16
  • Номер розроблюваної версії змінено з 0.2.5 на 0.3 з метою уникнення плутанини
  • Різноманітні поліпшення та виправлення помилок, у тому числі проблем безпеки
0.3 0.3a 17 жовтня 2009
  • Збільшено максимальні кількості гравців до 500 і транспортних засобів до 2000 на сервер
  • Нові, керовані мишею, вікно рейтингу, чату та решта елементів інтерфейсу
  • Повністю керований сервером ігровий процес, зокрема здатність NPC до керування транспортом
  • У вікні клієнта вкладку «Official» замінено на «Hosted»
  • Різноманітні поліпшення, зокрема синхронізації між гравцями
  • Виправлено велику кількість помилок і падінь; таким чином, версія 0.3a є найстабільнішою станом на момент її випуску
0.3b 21 серпня 2010 У браузері серверів додано функцію пошуку обраних серверів за іменами посилань виду samp://; а також виправлено безліч помилок
Клієнт Сервер
  • Додано команду /headmove для локального ввімкнення та вимкнення повороту голів
  • Гравців позбавлено можливості красти техніку з інтер'єрів подібно до підмісії грабіжника в оригінальній грі
  • Журналювання чату
  • Покращено синхронізацію гравців, анімацій і транспорту
  • Файли, в тому числі скріншоти, тепер зберігаються в папку GTA San Andreas User Files
  • Знято обмеження роздільної здатності екрану
  • Тепер зберігаються зміни обмеження частоти зміни кадрів
  • Додано команду /timestamp, що вмикає та вимикає відмітки дати й часу для повідомлень чату
  • Виправлення різноманітних помилок, у тому числі безпеки
  • Опція forcesync (0-2) для ApplyAnimation
  • Оновлено SQLite до версії 3.7.0.1
  • Додано можливість скидання пароля доступу до сервера за допомогою команди password 0
  • Гравці можуть за наказом скрипта носити об'єкти
  • Бета-версія багатопотокового HTTP-клієнту для Pawn
  • Максимальну кількість об'єктів підвищено до 400
  • NPC тепер можуть записувати довільний набір анімацій
  • Додано нові функції та поліпшено наявні
0.3b R2 22 серпня 2010 Виправлено різноманітних помилок і падінь на боці клієнта та сервера
0.3b R3 11 вересня 2010 Виправлено кілька помилок на боці клієнта
0.3c 29 грудня 2010
  • Система частинок для більш ефектного вогню
  • Нові й перероблені моделі капелюхів і окулярів, які можна носити
  • Покращено тримання об'єктів на транспорті
  • Гравці тепер мають змогу скоювати вбивство з автомобіля на ходу (англ. drive-by) за допомогою майже будь-якої зброї
  • Налаштування кольорів у чатах і діалогових вікнах
Клієнт Сервер
  • Додано нові об'єкти для стантрайдингу
  • Підтримка виведення різнокольорових повідомлень в одному рядку
  • Оновлено номерні знаки, тепер вони підтримують колір
  • Можливість керування частинами автомобіля: фарами, двигуном, капотом, багажником, дверима та вікнами
  • Кілька покращень і виправлень для скриптингу
0.3c R2 24 березня 2010 Тільки для сервера:
  • Виправлено вразливість до DoS-атак, під час яких нападник міг спричинити лаги та, врешті-решт, падіння
  • Реалізовано захист від атак типу «переповнення сервера» (англ. server full)
  • Повідомлення «Вхідне з'єднання» (англ. Incoming connection) тепер показується і при початкових з'єднаннях. Це дозволить відстежувати всі з'єднання
  • На прохання власників деяких серверів реалізовано можливість додавання повних дати та часу до журналу серверу. Для налаштування формату, заснованого на форматі функції strftime[6] мов C / C++, було введено параметр logtimeformat файлу server.cfg
  • Виправлено проблему зі списком змінних команди /rcon
0.3c R3 24 квітня 2010 Тільки для клієнта:
  • Скасовано зміни у заставці, зроблені у версії 0.3c, які могли спричиняти зависання на деяких системах, змушуючи гравця натискати клавішу Escape для завантаження гри
  • оптимізація рендерингу чату
0.3c R3-1 25 липня 2010 Тільки для сервера:
  • Виправлено вразливість до DoS-атаки, коли нападник, надіславши сформований особливим чином пакет, міг спричинити відмову налагоджувального припущення (англ. Debug assertion failed) на мережевому рівні SA-MP, що призводило до завершення роботи останнього
  • Додано кілька функцій та колбеків, що спрацьовують у випадку оновлення гравцем координат транспорту, не перебуваючи за його кермом
0.3c R4 27 липня 2010 Додано кілька нових функцій та виправлено кілька проблем на боці сервера, зокрема вразливість до DoS-атак
0.3c R5 28 липня 2010 Остаточно виправлено падіння, описані у примітках до версій R3 та R4 (тільки для сервера на базі Linux)
0.3d 1 грудня 2011
Клієнт Сервер
  • Можливість вилучення статичних споруд
  • Плавніший поворот об'єктів
  • Велика кількість нових функцій і колбеків
0.3d R2 9 грудня 2011 Виправлено падіння на клієнті та недостатнє примусове звільнення місця від гравця, а також збільшено максимальну кількість гравців на сервері до 800.
0.3e 7 травня 2012
  • Велика кількість дрібних виправлень включно з оновленнями безпеки, серед яких:
    • Проблема безпеки, що дозволяла здійснити атаку на сервер за допомогою спеціальних утиліт
    • Помилка, що з'явилася у версії 0.3d і дозволяла гравцеві уникнути смерті, увімкнувши будь-яку анімацію
  • Нові об'єкти, в тому числі стіни та будинки
  • Сервер тепер може змінювати текстури та кольори об'єктів
  • Нові можливості скриптингу для кращого управління ігровою камерою
  • Нові інструменти для легшого редагування прикріплених об'єктів
  • Нова анімація та модель для закування у наручники й арешту
  • Текстові функції для створення довільних позначок
  • Сервер має можливість вмикати та вимикати курсор миші протягом гри, завдяки чому гравець може натиснути на будь-якому тексті чи зображенні
0.3e R2 13 липня 2012 Оновлення безпеки на боці сервера, а також можливість вимкнути журналювання чату
0.3x 31 січня 2013
  • Нова система попереднього перегляду моделей дозволяє серверу демонструвати гравцеві ескізи скінів, транспорту й об'єктів, включно зі зброєю, на екрані
  • Поліпшено синхронізацію анімацій гравців, які переносять об'єкти
  • Система дружнього вогню по транспорту для серверів, що підтримують команди гравців
  • Нові об'єкти капелюхів і зачісок
  • Багато важливих змін у мережевій підсистемі SA-MP, які зменшують навантаження на мережу та підвищують безпеку
  • Значок пісочного годинника віднині з'являтиметься поряд з ніками гравців, які стали на паузу (може бути увімкнений або вимкнений за допомогою команди /nametagstatus)
  • Перевизначено автомобільні кольори з кодами 128—255 екзотичнішими варіантами. Попри те, що деякі з цих кольорів використовувалися, більшість їх не синхронізувалися.
0.3x R1-2 4 лютого 2013
Клієнт Сервер
Виправлено кілька помилок:
  • надмірне використання процесора під час завантаження списку серверів
  • падіння під час згортання гри за допомогою комбінації клавіш Alt+Tab у випадку недоступності значка пісочного годинника
  • вимикання підсвічування об'єктів після їх матеріальних змін за сталого кольору
Клієнти не бачили зауваження «Неприйнятний нік» (англ. Unacceptable NickName)
0.3x R2 13 вересня 2013 Виправлено кілька падінь сервера
0.3x R2 Patch 1 6 січня 2014 Вжито деякі заходи з унеможливлення DDoS-атак, серед яких виправлення на нижньому шарі мережевого рівня сервера
0.3z 13 лютого 2014
Клієнт Сервер і скриптинг
  • Введено необов'язкову компенсацію лагів) для пострілів; це дозволяє наводити зброю безпосередньо на скін гравця замість вогню на випередження
  • Вимкнено автоматичне наведення для користувачів, які грають за допомогою джойстика
  • Виправлено кілька помилок, зокрема зі стрільбою
  • Додано нові функції і колбеки, а також покращено наявні
  • Оптимізації мережевого рівня
  • Оновлено вбудований ігровий режим Rivershell до версії 2
  • Додано традиційний (англ. legacy) режим наведення (налаштування shotcompmode = 2 у файлі server.cfg), що дозволяє наведення лише за допомогою камери і вмикає наведення у випадку використання джойстика
  • Додано розширену інформацію про камеру гравця, як-от співвідношення сторін і рівень масштабування
0.3z R1-2 16 лютого 2014 Ідентифікатор поточної зброї гравця некоректно повідомлявся скриптам мови Pawn, коли гравець їхав у транспорті на пасажирському місці (тільки для сервера)
0.3z R2-1 12 квітня 2014 Побудовані особливим чином утиліти могли атакувати нижні шари мережевого рівня, змушуючи сервер викидати гравців (тільки для сервера)
0.3z R2-2 18 квітня 2014 Тільки для сервера:
  • Додано функції блокування та розблокування за IP-адресою
  • Додано функції SendDeathMessageToPlayer і CreateExplosionForPlayer та колбек OnIncomingConnection
  • Обмеження максимальної частоти вхідних пакетів (ackslimit) за замовчуванням підвищено з 1000 до 3000 через помилкові викидання гравців із серверу
  • Вимкнено журналювання кількості модифікованих пакетів на сервері
  • Вимкнено журналювання повідомлень вигляду [death] [kill] [nick] за умови вимкнення журналювання чату
0.3z R3 5 липня 2014 Кілька мережевих оптимізацій на боці сервера
0.3z R4 12 серпня 2014 Тільки для сервера:
  • Додаткові перевірки справності причепів на сервері
  • Додано колбек для оновлення причепів гравців
  • До колбеку оновлення вільного транспорту додано параметр його швидкості
  • Вилучено налагоджувальні HTTP-повідомлення
0.3z R2 2 листопада 2014 Тільки для клієнта:
0.3.7 1 травня 2015
  • Додано понад 500 нових об'єктів, включно з наземними й об'єктами для стантрайдингу
  • Зміна розміру шрифту інтерфейсу
  • Додано деякі варіації стандартних поліцейських скінів
  • Сервер може керувати дверцятами та вікнами автомобілів
  • Можливість приєднання поліцейської сирени до будь-якої машини
  • Спрощена система статистів для легшого створення NPC-продавців
  • Численні виправлення помилок і нові можливості для скриптингу
0.3.7 R2-1 11 липня 2015 Тільки для сервера:
  • Додано захист від хакерів, що розсилають спам у вигляді повідомлень OnPlayerConnect
  • Перевірка нефільтрованих у OnPlayerWeaponShot ідентифікаторів зброї
  • Статисти тепер за замовчуванням є невразливими. Це може знадобитися для подальшого виправлення ротацій груп допомоги
  • Додано кілька нових функцій, зкорема хеш-функцію для користувацьких паролів на основі алгоритму SHA-256
0.3.7 R2 5 вересня 2017
0.3.7 R2-2 24 вересня 2017 Виправлення безпеки та відтворення музики на боці клієнта
0.3.8 RC 4 листопада 2017
  • Додано можливість завантаження модифікацій на сервер (нові моделі персонажів, об'єктів)[7]
  • Нові функції:
    • AddCharModel(ID скіну, слот, файл .dff, файл .txd) — завантажує нового персонажа (скін) на сервер;
    • AddSimpleModel(віртуальний світ, ID будь-якого об'єкту, файл .dff, файл .txd) — завантажує новий об'єкт на сервер;
    • Колбек OnPlayerFinishedDownloading(playerid, virtualworld)
  • Виправлено помилки:
    • Відображення радару на широкоформатних моніторах;
    • Помилка зі звуком під ID 0 у PlayerPlaySound;
    • Повернено можливість повороту неігрових персонажів
0.3.DL 25 січня 2018 Імпортує всі нові можливості останніх версій (0.3.8 RC1—4-4)

Популярні проекти[ред. | ред. код]

Аудиторія мультиплеєра[ред. | ред. код]

Регіон Аудиторія
СНД СНД 55.6 %
Flag of the United States.svg США 21.9 %
Бразилія Бразилія 2.8 %
Польща Польща 3.1 %
Туреччина Туреччина 1.4 %
Німеччина Німеччина 4.3 %
Інші 10.9 %

Diamond Role Play[ред. | ред. код]

Diamond-RP — найпопулярніший 2016 року сервер мультиплеєра, представник сегменту СНД. Він має режим рольової гри. Перший сервер було запущено 26 липня 2013 року о 20:00 з 400 місцями, яких бракувало для всіх охочих.

Загалом існують вісім серверів, що мають спільну назву та режим Diamond RP:

  • Diamond-RP Emerald
  • Diamond-RP Radiant
  • Diamond-RP Trilliant
  • Diamond-RP Crystal
  • Diamond-RP Sapphire
  • Diamond-RP Onyx
  • Diamond-RP Amber
  • Diamond-RP Quartz

Advance Role Play[ред. | ред. код]

Advance-RP — один з популярніших серверів мультиплеєра, представник сегменту СНД. Він має режим рольової гри. Запущено 2011 року. Набував популярності з 2012 року, а пік припав на 2014.

Загалом існують дев'ять серверів, що мають спільну назву та режим Advance RP:

  • Advance-RP Red
  • Advance-RP Green
  • Advance-RP Yellow
  • Advance-RP Orange
  • Advance-RP Blue
  • Advance-RP White
  • Advance-RP Silver
  • Advance-RP Purple
  • Advance-RP Chocolate

Arizona Role Play[ред. | ред. код]

Arizona-RP — найпопулярніший 2017 року сервер мультиплеєра, представник сегменту СНД. Він має режим рольової гри. Перший сервер було запущено у 2014 році.

З часом сервер набрав обертів і зараз є найпопулярнішим у мультиплеєрі.

Загалом існують сім серверів, що мають спільну назву та режим Arizona-RP:

  • Arizona-RP Phoenix
  • Arizona-RP Tucson
  • Arizona-RP Scottdale
  • Arizona-RP Chandler
  • Arizona-RP Brainburg
  • Arizona-RP SaintRose
  • Arizona-RP Mesa

Absolute Role Play[ред. | ред. код]

Absolute-RP — Сервер із режимом рольової гри. Сервер було запущено у 2013 році.

Також є одним із найпопулярніших серверів у мультиплеєрі, представник сегменту СНД. Він має режим рольової гри. Перший сервер було запущено 14 вересня 2013 року.

Загалом існують 4 сервери, що мають спільну назву та режим Absolute-RP:

  • Absolute Role Play | Platinum
  • Absolute Role Play | Aurum
  • Absolute Role Play | Chromium
  • Absolute Role Play | Titanium

А також окремий сервер для розваг з режимом DeathMatch (DM) — Absolute-DM

Ще б якомога енциклопедичніше описати купу серверів з однаковим модом «Samp-Rp». Ну й решту популярних серверів, або тих, які так чи інакше суттєво відрізняються від інших: Define, ZONA, Trinity і т.д.

Атака сервера SA-MP[ред. | ред. код]

Флуд багаторазовим перез'єднанням[ред. | ред. код]

За допомогою спеціальної програми, яка емулює клієнт, відбувається підключення бота до сервера, після чого починається багаторазове перез'єднання (до 10 разів на секунду). Це викликає дуже часте виконання колбеку OnPlayerConnect на сервері, через що сервер починає підвисати. Прикрити цю атаку дуже просто, бо під час цього флуду не виконується OnPlayerDisconnect. Нижче наведено приклад:

new PlayerConnected[MAX_PLAYERS char];
public OnPlayerConnect(playerid)
{
    if(!PlayerConnected{playerid}) PlayerConnected{playerid} = 1;
    else BanEx(playerid, "OnPlayerConnect Flood");
}

public OnPlayerDisconnect(playerid)
{
    PlayerConnected{playerid} = 0;
}

Параметри San Andreas Multiplayer[ред. | ред. код]

Налаштування модифікації для мережевої гри у Grand Theft Auto: San Andreas під назвою San Andreas Multiplayer (скорочено SA-MP) можливе як на стороні серверу, так і на стороні клієнта. Перший спосіб налаштувань впливає на всіх гравців даного сервера, тоді як другий — лише на того гравця, який зробив свої налаштування. Відповідно, серверні параметри зберігаються у файлі server.cfg, а клієнтські — у файлі sa-mp.cfg. Формат обох файлів подібний до INI-файлів, але дещо спрощений, наприклад, не використовується розподіл параметрів за секціями.

Значення параметрів файлу server.cfg[8]
Назва параметру Значення за замовчуванням Тільки для читання Зміст параметру
echo Executing Server Config… Так Рядок, який виводить головний процес сервера sampserver.exe під час читання та застосування параметрів. Зазвичай у зміні цього параметра немає потреби, оскільки адміністратор сервера — єдиний, хто бачить його консоль
lanmode 0 Ні Застарілий параметр. Імовірно, призначався для створення серверів у локальній мережі
maxplayers 50 Так Максимальна кількість гравців, які можуть грати одночасно на сервері. Допустимі значення від 1 до 1000
announce 0 Ні Ознака публікації сервера в основному списку клієнтів. Логічне значення
query 1 Ні Ознака отримання клієнтами загальної інформації про сервер. Логічне значення. Не впливає на можливість входу гравців
port 7777 Так Порт, на якому спілкуватиметься сервер. Для запуску сервера бажано скористатися переспрямуванням портів[en]
hostname SA-MP <version> Server Ні Ім'я, що показується у переглядачі серверів для інших користувачів
gamemode (n) (N) (t) gamemode0
grandlarc 1
Ні Можливо, задає розклад ігрових режимів на сервері. Значення параметрів наступне: номер режиму, назва та кількість повторень режиму до перемикання на наступний
weburl www.sa-mp.com Ні Веб-сайт із детальною інформацією про сервер. Не обов'язковий
rcon_password changeme Ні Пароль консолі віддаленого адміністрування. Сервер потенційно небезпечно запускати з паролем за замовчуванням
filterscripts (N) Так Фільтрувальними (англ. filterscript) називаються фонові скрипти ігрового режиму. Їх призначення полягає в забезпеченні додаткового функціоналу до сервера без необхідності редагування ігрового режиму. Вони особливо корисні у випадках, коли необхідно додати один і той самий функціонал кільком ігровим режимам. Для використання необхідно покласти .amx-файл у папку filterscripts. Параметр (N) означає ім'я скрипту, що збігається з іменем файлу без розширення. Для завантаження кількох скриптів необхідно перерахувати їх в один рядок через пробіл
plugins (N) Так Дозволяє підключати плаґіни, що розширюють ігрові режими та фільтрувальні скрипти (англ. filterscript). Параметр (N) означає ім'я плаґіну. Для завантаження кількох плаґінів необхідно перерахувати їх в один рядок через пробіл. У випадку запуску сервера на ОС Linux до імен плаґінів необхідно додавати розширення .so
password (p) <Порожньо> Ні Пароль входу до даного сервера
mapname (m) San Andreas Ні Ім'я карти для переглядача серверів у клієнтах
language English Ні Мова сервера. Зазначається для того, щоб гравцям було зручніше обрати сервер із тією мовою, якою вони бажають грати. З'явився у версії 0.3.7
bind Так Примушує сервер використовувати вказану IP-адресу, яка має відповідати одній зі вказаних на мережевій платі сервера. Застосовується для запуску кількох серверів на одному порті й машині
rcon 1 Ні Ознака вимкнення консолі віддаленого адміністрування. Логічне значення
maxnpc 0 Ні Максимальна кількість NPC, які можуть увійти на сервер
  • onfoot_rate
  • incar_rate
  • weapon_rate
40 Так Тайм-аут оновлення даних на клієнті під час ходьби та бігу, їзди та стрільби відповідно, у мілісекундах. Зменшення кожного значення підвищує продуктивність та смугу пропускання
stream_distance 300.0 Ні Відстань на площині (X, Y), в межах якої об'єкти сервера створюватимуться для кожного з гравців. Збільшення значення розширює область рендерингу об'єктів на клієнтах, збільшує смугу пропускання, але спричинює більше навантаження на клієнтів
stream_rate 1000 Ні Тайм-аут оновлення об'єктів сервера для кожного з гравців, у мілісекундах. Зменшення значення збільшує інтенсивність роботи процесора, оскільки вимагає частішої перевірки потокових умов
timestamp 1 Ні Ознака вимкнення міток дати й часу. Логічне значення
logqueries 0 Ні Ознака логування запитів від гравців. Дуже корисно під час DDoS-атак. Логічне значення
logtimeformat [%H:%M:%S] Так Формат міток дати й часу. Синтаксис подібний до такого[9] у мовах C / C++
output 0 Ознака дублювання журнальних записів у консоль сервера, а не лише до файлу журналу. Логічне значення. Працює тільки в ОС Linux
gamemodetext Unknown Ні Текст ігрового режиму
chatlogging 1 Ні Ознака логування чату гравців. Вимкнення є корисним у випадках переповнення журналу або за наявності інших, скриптових рішень логування чату. Логічне значення. З'явився у версії 0.3e R2
messageholelimit 3000 Ні Граничну кількість порожніх пакетів, надісланих серверу кожним клієнтом. У разі перевищення цієї кількості сервер припускає, що даний клієнт намагається вивести його з ладу, і розриває з'єднання з ним[10]
lagcompmode 1 Так Режим компенсації лагів:
0
повністю вимкнено
1
увімкнено
2
в режимі позиційної компенсації, тобто за винятком поворотів гравців
ackslimit 3000 Ні Гранична кількість пакетів, що надсилаються від клієнтів до сервера. У разі її перевищення сервер розриває з'єднання
playertimeout 10000 Ні Час, протягом якого гравець не має надсилати повідомлень на сервер, для того, щоб вважати гравця таким, що став на паузу; у мілісекундах
minconnectiontime 0 Ні Час очікування сервера до приймання вхідного з'єднання, у мілісекундах
connseedtime 300000 Ні Частота оновлень заповнювального значення куків з'єднань. З'явився у версії 0.3.7
sleep 5 Ні Тайм-аут основного мережного потоку SA-MP і RakNet між циклами синхронізації, у мілісекундах. Збільшення значення зменшить інтенсивність використання процесора, але суттєво зменшить якість синхронізації. Використання ж меншого значення споживатиме більше ресурсів процесора, але й покращить продуктивність синхронізації. Небажано змінювати це значення, якщо тільки на сервері дуже багато гравців, через проблеми стабільності швидкості зміни кадрів
conncookies 1 Ні Ознака вимкнення системи куків для з'єднань. Логічне значення. З'явився у версії 0.3.7 R2
cookielogging 1 Ні Дозволяє вимкнути журналювання куків для з'єднань, які запитуються новими гравцями. Логічне значення. З'явився у версії 0.3.7 R2
db_logging 1 Ні Запис помилок функцій SQLite db_* до головного серверного логу. Логічне значення. З'явився у версії 0.3.7 R2
db_log_queries 1 Ні Запис всіх запитів SQLite db_query() включно із самим запитом. Логічне значення. З'явився у версії 0.3.7 R2
useartwork 0 Ні Ознака увімкнення можливості завантаження об'єктів на сервер. Логічне значення. З'явився у версії 0.3.DL
artpath models Ні Шлях до модифікацій, які завантажуватимуться на сервер. З'явився у версії 0.3.DL
artwork no Так Псевдонім рядкового типу для логічного параметру useartwork. З'явився у версії 0.3.DL
Значення параметрів файлу sa-mp.cfg[11]
Версія клієнту Назва параметру Значення за замовчуванням Аналогічна команда чату Призначення параметру
0.3a pagesize 10 /pagesize Дозволяє гравцям вказати висоту вікна чату у рядках. Допустимі значення від 10 до 20
fpslimit 50 /fpslimit Дозволяє гравцям калібрувати обмежувач швидкості зміни кадрів у разі ввімкненої опції у меню оригінальної гри. Допустимі значення від 20 до 90
disableheadmove 0 /headmove Управляє поворотами голів персонажів у напрямку камер гравців. Логічне значення
timestamp 0 /timestamp Дозволяє гравцям управляти відображенням міток дати й часу коло повідомлень у чаті. Логічне значення
ime 0 Управляє підтримкою вікном чату IME[ru] та перемикання мови. Логічне значення
0.3d multicore 1 Визначає використання клієнтом SA-MP кількох ядер процесора. Рекомендується вимкнути у разі виникнення проблем з мишею. Логічне значення
directmode 0 Дозволяє гравцям у разі виникнення проблем із рендеринг тексту чату використовувати більш повільний прямий (англ. direct-to-screen) метод. Логічне значення
audiomsgoff 0 /audiomsg Вимикає повідомлення у чаті виду Audio Stream: [URL], коли сервер починає програвати той чи інший аудіопотік. Логічне значення
audioproxyoff 0 У випадку ввімкненого проксі-сервера в налаштування Інтернет-з'єднання ОС Windows дозволяє вимкнути проксі для програвання аудіопотоків у SA-MP. Логічне значення
0.3x nonametagstatus 0 /nametagstatus Дозволяє вимкнути іконку пісочного годинника поряд з ніками гравців, які стоять на паузі. Логічне значення
0.3.7 fontface Дозволяє змінити шрифт вікон чату, діалогів і рейтингу, наприклад fontface="MS Comic Sans". Офіційно не підтримується і може спричиняти проблеми
fontweight 0 Визначає вигляд шрифту у вікні чату: напівжирний чи ні. Логічне значення

Див. також[ред. | ред. код]

Примітки[ред. | ред. код]

  1. SA-MP 0.3.7 is released! (англійською). 
  2. SA-MP 0.3.DL R1 Release (англійською). 
  3. SA-MP Client and Server Software License Agreement (англійською). The SA-MP Team. Процитовано 15 січня 2017. 
  4. Changelog — SA-MP Wiki (англійською). 
  5. News and Updates — SA-MP Forums (англійською). 
  6. strftime. C++ Reference (англійською). Процитовано 29 січня 2018. 
  7. Демонстрація нових функцій SA:MP 0.3.8 на YouTube
  8. Server.cfg — SA-MP Wiki (англійською). 
  9. strftime. C++ Reference (англійською). Процитовано 19 лютого 2017. 
  10. Kalcor (17 січня 2014). Clarification on messageholelimit. Форум SA-MP (англійською). 
  11. Sa-mp.cfg — SA-MP Wiki (англійською). 

Посилання[ред. | ред. код]