Как сделать мультиплеер на андроид
Обновлено: 19.09.2024
Многие задаются вопросами: Как играть в SAMP на Android на любом сервере, или же сделать собственный лаунчер для Вашего сервера, и как использовать, чем компилировать исходники клиента SAMP, и что дальше делать с libsamp.so?
Сегодня Мы расскажем Вам все, и в мельчайших подробностях.
Лаунчер сервера - Это всего лишь утилита конкретного сервера, которая автоматически качает и устанавливает на ваш телефон модифицированный GTA:SA + Кэш, со вшитым и доработанным мультиплеером, на основе build69 исходников.
Советуем прочесть наш гайд по созданию Лаунчера SAMP/CRMP для Android (С исходниками)
Модифицированный GTA:SA .apk (Он же SAMP) - apk файл, со вшитым libsamp.so (О нём мы расскажем ниже)
Модифицированный Кэш GTA:SA (com.rockstargames.gtasa) - Это все файлы игры, плюс файлы самого SAMP (Текстуры, модели, объекты и различные настройки)
libsamp.so - Этот файл получается в результате компилирования исходников SAMP, и вшивается в модифицированный APK файл GTA:SA.
Порядок действий: (Предварительно удалите все клиенты, лаунчеры и кэши сторонних серверов с телефона).
1. Вы качаете исходники SA-MP (Билд исходных файлов мультиплеера, код написан на C++).
2. После чего вы дорабатываете исходники до необходимого функционала, меняете IP, порт, и другие параметры, куда будет подсоединяться клиент.
3. Компилируете исходники с помощью Android NDK, и получаете libsamp.so
4. Качаете готовый Кэш игры (Ссылка ниже) с необходимыми для работы SAMP файлами, и перемещаете его в Android/data/. (Чтобы получилось Android/data/com.rockstargames.gtasa/)
5. Устанавливаете apk файл игры (Ссылка ниже).
6. libsamp.so вшиваете в уже установленный apk файл игры с помощью приложения APK Editor, сохраняете Ваш новый APK, и устанавливаете поверх уже установленного (Не удаляя его, чтобы не удалить кэш вместе со старым apk).
7. Настройте Android/data/com.rockstargames.gtasa/files/SAMP/settings.ini
Ответы на вопросы
- Выдает ошибку, связанную с cheats.cpp, cheats.h, pCheats, pAdmin
Ответ: В наших исходниках данные проблемы уже исправлены
- Крашит игру после запуска мультиплеера / Ошибка keyboard.cpp или keyboard.h (Клавиатуры)
Ответ: Вы компилируете исходники с несовместимой версией Android NDK. Используйте Android NDK 14 версии, которая полностью совместима с кодом
В этой статье я хочу рассказать об использовании игровых сервисов Google в вашем приложении на Unity. На написание данного материала меня сподвигло достаточно большое количество проблем, встретившихся во время разработки нашего приложения, а также отсутствие каких-либо материалов на русском языке по этой теме. Да и собственно, на английском тоже. Описание использующегося плагина на гитхабе очень краткое и не дает ответа на возможные проблемы с работой сервисов. Думаю, здесь не стоит пояснять, что мультиплеер и рейтинги игроков зачастую повышают интерес пользователей, а следовательно и вашу возможную прибыль. А благодаря данной статье начинающие разработчики смогут начать использовать данные преимущества.
Плагин
Мы использовали бесплатный плагин Play Games For Unity. В нем содержатся библиотеки для работы с сервисами Google. Плагин включает в себя авторизацию пользователя в Google+, возможность использования достижений и рейтинга для игроков, облаков Google для хранения данных и организации мультиплеера как в реальном времени, так и в пошаговом режиме. Установка плагина не вызывает никаких трудностей: в Unity нужно выбрать импорт ассета (Assets->ImportPackage->CustomPackage) и в открывшемся окне выбрать ассет, находящийся в папке «current-build».
Далее вам нужно ввести id своего приложения: откройте появившийся выпадающий список «Google Play Games» и выберете пункт «Android Setup». Id приложения вы можете узнать в Google Developer Console. Он выдается после добавления нового приложения в «Игровые сервисы», вы можете видеть его рядом с названием вашей игры. После добавления id можно переходить непосредственно к коду.
Для инициализации плагина используйте следующий код:
PlayGamesPlatform.Activate(); достаточно вызывать лишь один раз после запуска вашего приложения. После инициализации вы можете получить доступ к платформе при помощи Social.Active.
Чтобы реализовать авторизацию пользователя используйте следующий код:
Переменная success принимает значения true при удачном входе и false, соответственно, при неудачном. В нашем случае при удачном входе вызывается метод загрузки необходимых данный пользователя из облака Google. И сразу же первая проблема, встретившаяся у нас на пути: метод вызывается, но при неудачной попытке не возвращает false, а следовательно авторизация не проходит и нет возможности при (!success) вызвать метод еще раз. Пришлось написать костыль, который вызывает метод с определенным интервалом, пока авторизация не пройдет (при условии, что пользователь подтвердил запрос на авторизацию перед этим).
После авторизации пользователя мы получаем возможность использовать сервисы Google.
Поднимаем мультиплеер
- Создание комнаты со случайными игроками (быстрая игра)
- Создание комнаты с экраном приглашения (позволяет приглашать в игру друзей из кругов Google+)
- Обзор приглашений (позволяет видеть, кто из друзей в Google+ хочет пригласить вас в игру)
- Приглашения по id (его рассматривать не будем, т.к. не использовали данный режим в нашем приложении; интересующиеся могут прочитать о нем по ссылке на Github)
Создать «быструю игру»/соединиться
Создается комната, куда набираются случайные оппоненты, или же происходит автоматическое присоединение к уже созданной комнате.
Очевидно, что минимальное и максимальное количество игроков определяется переменными MinOpponents, MaxOpponents. В нашей игре MaxOpponents = 1, это означает, что в мультиплеере у вас будет только один противник.
Если ваш класс наследуется от RealTimeMultiplayerListener, то вместо listener вам нужно написать this.
Создание комнаты с экраном приглашения
Почти идентично предыдущему. Игрок может пригласить друзей из Google+ или добавить случайных оппонентов.
Обзор приглашений
Откроется меню, в котором игрок может видеть свои приглашения из Google+.
Соединение с комнатой
Следующий метод позволяет показать пользователю загрузку во время создания или соединения с комнатой:
В нашем случае мы просто выводим переменную progress.
Когда соединение с комнатой произошло удачно (или нет) вызывается следующий метод:
id участников
Чтобы узнать id всех участников, включая ваш, вы можете использовать следующий код (может выполняться только после соединения с комнатой).
Для всех участников лист будет отсортирован одинаково.
Для того чтобы узнать свой Id воспользуйтесь следующим методом:
Наконец-то после десятков билдов и тестов все начало работать:
События соединения
Если пользователь отключается от комнаты, вызывается следующий метод:
Важно: При сворачивании игры игрок отключается от комнаты. Возможно, для некоторых приложений это будет проблемой. Но в нашем случае сворачивание неминуемо привело бы к поражению, в виду специфики игры. Поэтому при отключении от комнаты одного из участников вызывается метод OnPeersDisconnected(), описанный далее.
Если кто-то подсоединяется или отсоединяется от комнаты, будут вызваны следующие методы.
В выходные или по вечерам, после утомительного рабочего дня, почему бы не пригласить в гости друзей – с ними можно не только обсудить все последние события и поделиться новостями, но и сыграть в игры по локальной сети на Андроид, благо современные мобильные устройства это позволяют.
В Google Play таких игр немало, и неважно, потребуют ли они от вас доступа к общей Wi-Fi сети или использования Bluetooth, или просто позволят сыграть на экране одного устройства – главное, что вы сделаете это в весёлой компании и оторвётесь по полной.
Badland
Это один из самых стильных сайдскроллеров на мобильных платформах, завоевавший немало наград благодаря своей оригинальной силуэтной графике, зрелищным и разнообразным, полным опасностей уровням и великолепному саундтреку. Всё это в комбинации создаёт жуткую, таинственную атмосферу – ту самую, которой так славится эта игра. Но в нашем списке она оказалась не только из-за этого – авторы реализовали в ней оригинальный локальный мультиплеер для четверых игроков. Ваша задача в таком режиме игры – выжить, несмотря ни на что, опережая соперников и не испытывая к ним особой жалости в случае, если речь идёт о собственной жизни. Этот режим реализован в виде кооперативного мультиплеера на одном устройстве.
Minecraft PE
Если вам надоест в одиночестве заниматься крафтингом или выживать в этой мегапопулярной игре-песочнице, то исследовать её невероятные миры вы сможете и совместно с друзьями в режиме локального мультиплеера. Для создания локального сервера вам всем необходимо находиться в зоне действия одной Wi-Fi-сети, и тогда один из миров станет вашим совместным приключением, где вас ждут удивительные ландшафты, странные создания и полная свобода действий.
Terraria
Ещё одна песочница с открытым миром в нашем списке - с разнообразными биомами, огромным ассортиментом врагов и их боссов, с возможностью не только заниматься крафтингом, строить и выживать, но и сражаться, заводить питомцев и конечно, общаться с друзьями. Локальный мультиплеер в этой игре требует от вас общей Wi-Fi-сети – и только. Соберите до четверых друзей, и выживайте вместе в кроссплатформенном режиме.
Sky Gamblers: Storm Raiders
Здесь вас ждут воздушные сражения, зрелищные и реалистичные, а также великолепные пейзажи и погодные спецэффекты. Окунитесь в атмосферу Второй мировой войны, участвуйте в боях над Перл-Харбором и Па-де-Кале, бомбите вражеские позиции, управляйте реально существовавшими самолётами и сражайтесь бок о бок с друзьями. Для этой цели в игре предусмотрен локальный мультиплеер - как совместный, так и состязательный, реализовать который можно в одной зоне Wi-Fi. Он предусматривает 6 режимов: Свободная игра, Командная игра, Выживание, Остаться в живых, Штурм и Захват флага.
Angry Birds Go!
Вы готовы к головокружительным гонкам, когда за рулём будут хорошо знакомые персонажи франшизы Angry Birds - как злые птицы, так и их вечные соперники, зелёные свинки? Эта игра предлагает разнообразные скоростные трассы, сюрпризы и ежедневные события, трюки и хитрости, апгрейды тачек и развитие способностей персонажей. И, самое главное, то, почему эта игра оказалась в нашей подборке – локальный мультиплеер по сети Wi-Fi, в ходе которого вы сможете погонять на трассах этой игру вместе с друзьями, чтобы выяснить, кто же из вас самый крутой гонщик.
Farming Simulator 16
Хотите попробовать себя в роли фермера? Тогда садитесь за руль трактора или комбайна, выращивайте урожай, разводите животных, торгуйте и развивайте свой бизнес. Вас ждут реалистичная графика, широкий выбор техники от известных производителей, динамически меняющаяся экономика и возможность посостязаться на звание лучшего фермера с друзьями - для этого в игре предусмотрен локальный мультиплеер, реализуемый как с помощью сети Wi-Fi, так и по Bluetooth.
Морской бой 2
Кто не знаком с этой игрой? Практически каждый из нас расчерчивал тетрадные листы на квадраты, расставляя корабли и мины на игровом поле. Теперь этот же листок в клетку с кораблями на нём вы увидите на экранах своих мобильных устройств. Кроме морских сражений с соперниками по всему миру здесь вы сможете вызвать на бой своих друзей - либо играя с другом на одном устройстве, либо бросив ему вызов по Bluetooth.
Riptide GP®2
Футуристические гонки на реактивных катерах – чем не вариант для состязаний с друзьями? Вас ждут головокружительные трюки и невероятные скорости, апгрейды и тюнинг своих катеров, реалистичная физика поведения воды и множество увлекательных гонок . Кроме однопользовательской кампании и онлайн-соревнований вы сможете организовать и локальные гонки, собрав до 4-х друзей в режиме сплит-скрин.
Friut Ninja
И снова состязания, но на этот раз в нарезке фруктов: кто сделает это быстрее – вы или же ваш друг? Проверьте свою ловкость и точность в локальном мультиплеере на одном устройстве. Так вы всегда сможете узнать, кто круче владеет свайпами, кто быстрее режет арбузы и расправляется с ананасами.
Добавьте сюда постоянно обновляющийся контент - и вы поймёте, почему эта разработка по-прежнему популярна.
Virtual Table Tennis™
Эта 3D-игра, основанная на физике, предлагает матчи по настольному теннису, действительно близкие к реальным. Движения шарика и ракеток продуманы и прорисованы великолепно, так что лучшего симулятора вам не найти. А сыграть с друзьями вы можете как онлайн, так и локально – сидя рядом и напряжённо сражаясь через Bluetooth.
Видео-обзор
Как установить Мультиплеер Геометрии Даш
- Запустите Geometry Dash на ПК. Если у вас нет ГД на ПК, то можете скачать последнюю версию перейдя по этой ссылке. Работает как на 2.113, так и на 2.112 обновлениях.
- Войдите в свой аккаунт (Options -> Account). Если у вас его нет, то зарегистрируйте.
- Скачайте архив ГД Мультиплеер и распакуйте в любом месте.
- Запустите Мультиплеер Геометрии Даш.
- На данную программу могут ругаться как браузеры, так и антивирус. Добавьте исполняемый файл Multiplayer.exe в исключения. Он полностью чистый и без каких-либо вирусов.
Как начать играть
Открыв приложение GDM, у вас будет возможность выбрать язык (также его можно менять в настройках). После кликните на регион Европа (выбор сервера).
В правом столбце вы увидите уровни, в которые играют другие пользователи. Вам нужно всего лишь скопировать ID уровня, кликнув по нему.
Далее зайдите окошко для поиска уровней в Geometry Dash и вставьте скопированный номер уровня. Нажмите на кнопку поиска (Search).
После просто выберите найденный уровень и начните в него играть.
Также можете посмотреть видео-гайд, на котором подробно показывается установка Мультиплеера.
Настройка дополнения
Vip аккаунт
- пользовательские анимированные и не анимированные иконки;
- до 144 кадров в секунду для других игроков;
- создание частных лобби (приватных серверов);
- специальные каналы: 🎨 цвет-роли, 💬 специальный чат, 📁прямая ссылка, 🎨 пользовательские иконки;
- настройка цвета имени.
Часто задаваемые вопросы
GDM не запускается / не работает (очистка кэша)
Перейдите папку Пользователи (Users). Зайдите в папку своего профиля. В разделе AppData удалите папки Alizer и Geometry Dash. Если вы не видите папку AppData, то вам нужно открыть видимость системных файлов Windows.
Почему я не могу просматривать значки?
Вы должны подождать, пока GDM загрузит их, вы можете это наблюдать в левой части приложения, как подключитесь к уровню.
Как мне присоединиться к общественному лобби?
Когда GDM запускается, вы уже находитесь в общественном лобби, все, что вам нужно сделать, это присоединиться к уровню.
Каковы минимальные требования для запуска GDM?
Около 2 ГБ оперативной памяти и приличный процессор с частотой 1,0 ГГц, Windows Vista или выше.
Поддерживает ли GDM Android, iOS и Mac?
Я изменил свой пользовательский значок, но люди все еще видят мой старый значок.
( 1 оценка, среднее 5 из 5 )Значки сбрасываются только каждый раз, когда игрок закрывает Geometry Dash и GDM.
возникла такая проблема, у меня 64 бита а требует 86 битов и поэтому я не могу открыть архив
Почитайте в интернете, как открыть режим совместимости для вашей версии Windows.
проблема уменя не показывает игроков что делать?
у меня не хочет скачивать 4 програмы которые нужно что делать?
иа очин критаааааи
а если пишет: запуск программы невозможне так как на компьютере остсутсвует vcruntime140.dll.? впорос где можно скачать или как
Читайте также: