Lua JS Прочее Динамическая карта SA:MP в браузере

ImPasha

Software Developer & System Administrator
Автор темы
Друг
1,789
2,136
Версия SA-MP
  1. 0.3.7 (R1)
168515



Динамическая карта 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 за их помощь, так что считаю необходимым сохранить эту информацию здесь для памяти. Помимо этого, благодарность остальным пользователям форума, которые отвечали на вопросы первоначальных авторов, это им очень помогло.
 

Вложения

  • 2.jpg
    2.jpg
    573.4 KB · Просмотры: 4,563
  • NodeJS.zip
    2.6 MB · Просмотры: 45
  • PHP.zip
    2.6 MB · Просмотры: 44
  • Python.rar
    2.6 MB · Просмотры: 36

ImPasha

Software Developer & System Administrator
Автор темы
Друг
1,789
2,136
я так и не увидел luajit версию 😠😠😠😠😠
Я хотел сделать, но после того, как несколько часов потратил в поисках нормального модуля, который позволил бы развернуть HTTP сервер, мотивация как-то пропала. То, что было, поддерживалось только Linux, а под Windows я накопал только вариант из под LuaSocket, но он не мог принимать POST запросы. Можно было бы перевести всё на сокеты, но я хотел сохранить первоначальную концепцию с HTTP интерфейсом.

Конкурс по написанию серверов для этого на всём подряд объявляю открытым.
 

hinazuki

Потрачен
346
95
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Я ждал эту тему от тебя)
 

ImPasha

Software Developer & System Administrator
Автор темы
Друг
1,789
2,136
Есть конечно и такие варианты, но это из разряда чего-то очень бюджетного и рискованного. Две блокировки VPS на FirstByte научили меня, что брать это чудо не стоит ни для каких целей, потому что в любой момент по абсолютно любой причине и с любым предлогом сервера могут быть остановлены. Не забываем про риски того, что IP адреса таких бюджетных VPS с большой вероятностью могут находится в чёрных списках и спам-листах.

А вообще идея хостинга больше даже не в том, чтобы сэкономить на аренде сервера, а в том, чтобы сэкономить время и пренебречь знаниями в системном администрировании и настройке всего этого дела. Запустить и пользоваться без лишних заморочек - вот в чём основная идея.

Каждый выбирает тот вариант, который ему удобен. Я лишь предоставил удобный инструмент за смешные деньги.
 

Conradk10

Новичок
7
2
Знайте: автор данного поста спиздил мою идею под чистую. Оплачивая его услуги вы финансируете воровство оперсоурс проектов и проявляете неуважение к первоначальным создателям. Изначально эта идея была создана мной как Taxi хелпер, с отображением вейпоинтов на веб карте в браузере. В этом посту я хочу обозначить как автор проекта я запрещаю использование своего кода и кода моего напарника. Так же я запрещаю любое коммерческое использование всего что связано с моим кодом и кодом моего напарника а так же коммерческое использование нашей с ним идеи. Будь добр, дружок, когда пиздишь мою идею и пытаешься ее продать - спрашивай у меня разрешение

И ещё, чисто по приколу дополню, ты бы хотя б код для приличия немного поменял)

И мы не забрасывали проект, до того как ты начал его продавать 😃

А, и да, тем кто следит за проектом - в скором времени Вас ждет крупное БЕСПЛАТНОЕ обновление, Вам оно точно понравится
 
Последнее редактирование:

neverlane

t.me/neverlane00
Друг
1,002
1,141
Оплачивая его услуги вы финансируете воровство оперсоурс проектов
оплачивая его услуги вы лишаете себя мозгоебства с настройкой сервера и скрипта
сама карта всё ещё опенсурс
И ещё, чисто по приколу дополню, ты бы хотя б код для приличия немного поменял)
зачем менять код, если он написал, что ты автор ориг идеи? он просто сделал бота и еще пару вариаций серверов на других языках
 
  • Нравится
Реакции: B_Votson Team <3

Conradk10

Новичок
7
2
он просто сделал бота и еще пару вариаций серверов на других языках
и ещё просто сделал свою тему, тем самым закрыв интерес к нашей теме сделав ее неактуальной в глазах пользователей

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

neverlane

t.me/neverlane00
Друг
1,002
1,141
и ещё просто сделал свою тему, тем самым закрыв интерес к нашей теме сделав ее неактуальной в глазах пользователей
так @ca4tuk установил той теме статус неактуально и удалил её(сменил название темы на 1 и заменил содержание темы)
мы бы могли это сделать все вместе, в оригинальной теме. но, к сожалению со мной никто этого не обсудил и начал продавать нашу идею
хз почему не обсудил, чтобы обновить ту тему, но в продаже ничего такого не вижу
если это опенсурс - ты должен понимать, что он доступен каждому и каждый может использовать его как хочет
да и лицензии использования никакой не было в теме) (как я помню)
 

ImPasha

Software Developer & System Administrator
Автор темы
Друг
1,789
2,136
Знайте: автор данного поста спиздил мою идею под чистую. Оплачивая его услуги вы финансируете воровство оперсоурс проектов и проявляете неуважение к первоначальным создателям. Изначально эта идея была создана мной как Taxi хелпер, с отображением вейпоинтов на веб карте в браузере. В этом посту я хочу обозначить как автор проекта я запрещаю использование своего кода и кода моего напарника. Так же я запрещаю любое коммерческое использование всего что связано с моим кодом и кодом моего напарника а так же коммерческое использование нашей с ним идеи. Будь добр, дружок, когда пиздишь мою идею и пытаешься ее продать - спрашивай у меня разрешение

И ещё, чисто по приколу дополню, ты бы хотя б код для приличия немного поменял)

И мы не забрасывали проект, до того как ты начал его продавать 😃

А, и да, тем кто следит за проектом - в скором времени Вас ждет крупное БЕСПЛАТНОЕ обновление, Вам оно точно понравится
Привет, никто ничего не воровал, тем более, как ты сам сказал, это модификация с открытым исходным кодом, которую вы сами таковой опубликовали. Никакой лицензии я в вашей теме не наблюдал, поэтому смею предположить, что имею полное право распространять свою версию с доработками, оставив исходный код открытым, как было и в вашей версии. В вашем коде нет абсолютно ничего уникального, это обычная работа с библиотекой samp.events и отправка одного HTTP запроса на сервер. Авторство сохранено и чётко обозначено в начале топика и в его конце, а материал продолжает распространяться в виде исходного кода с моими доработками. Твой партнёр сказал, что обновлений более не будет и лично закрыл топик, в котором была опубликована модификация, вы хотя бы договорились бы как действовать прежде чем обвинять меня в чём-то. То, что вашим проектом кто-то заинтересовался, лишь подтверждение того, что проект хороший, а вместо этого вы решили объявить какую-то неслыханную войну в мире открытого исходного кода.

Как уже сказал человек выше, хостинг для этого проекта - моя личная инициатива с полностью уникальным кодом и собственными ресурсами, которые арендуются за деньги, а ваше авторство также сохранено. Мало того, что это реклама вашего же проекта, так это ещё и помощь людям, которые не хотят заморачиваться с установкой всего этого дела по собственным серверам, а вариант до моего проекта был у них только такой.

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

Так что всё, что ты высказал здесь, тебе бы стоило обсудить со своим же партнёром перед тем, как обвинять меня в чём-то.
 
  • Вау
Реакции: хочу гратися