- 1,789
- 2,141
- Версия SA-MP
-
- 0.3.7 (R1)
Динамическая карта SA:MP в браузере
Оригинальная разработка принадлежит @ca4tuk и @Conradk10
Принцип работы модификации
Данная модификация позволяет вам в реальном времени наблюдать за картой SA:MP из браузера. В свою очередь на карте будут отображаться все игроки, которые находятся рядом с вами в зоне стрима, пользовательский чекпоинт на карте, а также ваш собственный маркер. Всё это будет обновляться в процессе игры по средствам скрипта, написанном на Lua, сервера, представленном в трёх вариантах: PHP, Node JS и Python; и небольшой связкой из HTML, CSS и JavaScript. Всё это доступно с открытым исходным кодом и может спокойно меняться под ваши нужды и реализации - вы свободны в этом.
Помимо этого существует недорогой хостинг для создания приватной карты без навыков программирования и системного администрирования. Ваша карта будет доступна в интернете с SSL сертификатом и вы сможете поделиться ей с друзьями.
Требования для работы
1. CLEO, SAMPFUNCS и MoonLoader 0.26 (и выше)
2. Библиотеки samp.events, effil, requests и их зависимости (большая часть есть здесь)
3. PHP, либо Node JS, либо Python с последней версией FastAPI
Инструкция по установке
1. Скачать один из архивов из прикрепленных файлов: либо PHP, либо Node JS, либо Python;
2. Перенести samp_dynmap_sender.lua в папку moonloader, которая находится в папке с игрой;
2.1. Если нужно изменить IP и порт сервера, то это можно сделать внутри этого файла, изначально настроен под работу на том же устройстве, где запущен сервер;
3. Далее следуем инструкции по скачанной версии;
3.1. Если вы скачали версию для PHP, то вам понадобится веб-сервер под управлением Apache, куда вам необходимо перенести файлы .htaccess и index.php, после этого сервер будет полностью готов к работе. Адрес сервера необходимо будет прописать в скрипте Lua и веб-клиенте позже;
3.2. Если вы скачали версию для Node JS на Windows, то вам необходимо установить Node JS с официального сайта, а после запустить ваш сервер при помощи специализированного .bat файла, который также находится в архиве. Если вы запустили это на том же компьютере, где собираетесь играть, менять IP и порт в скрипте и веб-клиенте нет необходимости, иначе же вам нужно поменять его в обоих местах, чтобы всё корректно работало. Если вы запускаете сервер на UNIX системах, установите Node JS и запустите сервер с помощью команды:
node server.js
;3.3. Если вы скачали версию для Python, то вам необходимо установить Python и FastAPI последней версии для него, после чего запустить сервер командой
python api.py
в командой строке или терминале. Если вы запустили это на том же компьютере, где собираетесь играть, менять IP и порт в скрипте и веб-клиенте нет необходимости, иначе же вам нужно поменять его в обоих местах, чтобы всё корректно работало;4. Откройте папку web, которая была в архиве, и при необходимости измените адрес сервера. После этого запустите файл index.html для того, чтобы открыть саму карту в браузере. Если вы устанавливали версию для PHP, то можете поместить папку прямо на ваш хостинг и заходить через него по URL
5. Запустите игру и, убедившись, что скрипт работает, пропишите команду /dynmap, чтобы активировать передачу данных;
6. Если вы сделали всё правильно, то на карте в браузере должны появится изменения. Вы прекрасны!
Хостинг приватной карты
А если вы не хотите заморачиваться с тем, что написано выше, или вы вовсе не понимаете как это всё реализовать, то для вас доступен готовый вариант. Специальный чат-бот в Telegram поможет вам настроить приватную карту и поделиться ей с друзьями, либо открыть на любом устройстве, без необходимости ставить веб-сервер, прокидывать порты и отдавать огромные деньги за аренду VPS под этот проект.
1. Переходим в бота по этой ссылке, запускаем его, перед нами появляется сообщение с всякими кнопками;
2. В меню нажимаем на кнопку "Скачать скрипт", это будет уникальная сборка, делиться ей ни с кем не нужно, иначе карта перестанет быть приватной и все ваши знакомые, которым вы скинете скрипт начнут отправлять данные на вашу карту, а это вам явно не нужно;
3. Скачанный файл закидываем в MoonLoader, не забываем про все зависимости, которые указаны в этой теме, оригинальный скрипт вам не нужен, только все библиотеки, которые необходимы ему для работы;
4. Пополняем баланс в боте, поддерживая мою прекрасную разработку и помогая оплачивать сервер, один день использования стоит 5 рублей, платите вы только за фактические дни использования, за простой оплата не взымается, если что цену пересмотрю потом, вы главное пишите по необходимости;
5. После того, как пополнили баланс, нажимаем на кнопку "Моя карта" и попадаем на вашу персональную карту, ссылку на которую можно смело скидывать друзьям, тогда они будут видеть, где вы и что происходит рядом с вами, при этом менять карту сможете только вы скриптом
6. Если так получилось, что вы пренебрегли рекомендациями в третьем пункте и поделились скриптом, нажимаем на кнопку "Сбросить ключ" и перекачивает скрипт, после этого ваша публичная карта снова станет приватной и вы снова сможете её контролировать
7. Пользуетесь на здоровье, делитесь с кем хотите, используете как душе угодно!
Благодарности
Огромную благодарность выражаю первоначальным авторам идеи и реализации. Ваш проект действительно интересный, а мой повышенный интерес к нему только это подтверждает. Жаль, что вы решили его забросить, он достаточно перспективный. Если что возвращайтесь, я против не буду. Собственно, благодаря им вы видите сервер на Python, также веб-клиент и сам скрипт - это их заслуга. Доработки в виде серверов на Node JS и PHP, а также возможность опубликовать свою приватную карту в интернете в пару кликов - это уже моя заслуга.
Первоначальные авторы также оставляли благодарности wD.D159 и chapo за их помощь, так что считаю необходимым сохранить эту информацию здесь для памяти. Помимо этого, благодарность остальным пользователям форума, которые отвечали на вопросы первоначальных авторов, это им очень помогло.