Результаты поиска
| |
Aevien | Дата: Среда, 13 Мая 2020, 10:57 | Сообщение # 1 | Тема: Master Server Framework |
почти ветеран
Сейчас нет на сайте
| Storm54, кому нужен, тот уже скачал 219 раз и задают вопросы в дискорд или при личном созвоне, даже из заграницы. Кому не нужен берут, как вы сказали, популярные решения.
- Кому нужен человек, у которого более 10 лет опыта разработки на разных языках высокого уровня? - Кому нужен человек, у которого отличные знания .NET, Unity? - Кому нужен человек, у которого отличные знания TCP, UDP? - Кому нужен человек, который пишет в своей подписи о достижениях?
Вопросы были заданы не чтобы потроллить, а дать понять, что как и вы пишите о своих достижениях и рады дать любую консультацию по теме геймдева, так и я готов поделиться тем, над чем работаю. Все очень просто
Сообщение отредактировал Aevien - Среда, 13 Мая 2020, 10:59 |
|
| |
Aevien | Дата: Понедельник, 11 Мая 2020, 09:14 | Сообщение # 2 | Тема: Ищу коллег по разработке игр в Хабаровске |
почти ветеран
Сейчас нет на сайте
| Привет! Помню хвалил твою игру ). Картинка мне понравилась ) Добавлено (11 Мая 2020, 09:15) --------------------------------------------- Я так понимаю рисуешь сам? Все картинки очень хорошо смотрятся
|
|
| |
Aevien | Дата: Четверг, 09 Апреля 2020, 11:33 | Сообщение # 3 | Тема: Master Server Framework |
почти ветеран
Сейчас нет на сайте
| Да, кстати! Ты прав! Неправильно указал версионность. 2.4.0 должна быть как минимум или 3.0. Впредь буду внимателен.
Что касается изменения имен, то первичный разработчик указал в разных классах, взаимодействующих друг с другом нелогическое именование свойств и полей. Программа трудно понималась. Поэтому пришлось почистить код в этом направлении. Там еще много такого будет измененено.
Спасибо!
Добавлено (11 Апреля 2020, 08:17) --------------------------------------------- Обновление 3.1.0. Внесены значительные изменения, поэтому текущая версия не совместима с ранними. Пожалуйста, тестируйте в новом проекте перед интеграцией в существующий.
- Создан новый класс DictionaryOptions, который помогает работать с свойствами. Этот класс используется во многих производных от ISerializablePacket классах. Примерно 65 позиций, в которых используется новый DictionaryOptions - Произведено документирование методов, свойств и полей классов, не все, но много. Это поможет легче читать код. Такой метод будет использоваться в дальнейших обновлениях. - Почти закончена демо сцена работы с Спаунерами. Ее уже можно посмотреть в текущем обновлении.Добавлено (14 Апреля 2020, 02:34) --------------------------------------------- Обновление 3.2.0.
Добавлена функция единовременного входа в систему. Пользователь теперь не обязан вводить свой логин и пароль каждый раз при входе в систему. Это делается единожды и в дальнейшем используется аутентификационный токен. Конечно же это контролируемый процесс и решать использовать или нет эту функцию должен каждый разработчик сам )
Пример использования можно найти в сцене BasicAuthorization в классах AccountManager, MsfAuthClient, AuthModule Добавлено (22 Апреля 2020, 10:44) --------------------------------------------- Обновление 3.3.0.
- Ошибка при использовании Msf.Runtime.ProductKey. Не должна вызываться в конструкторе или в полях - Удален класс BaseClientModule, вместо него использовать MsfBaseClientModule - В MsfBaseClientModule добавлен метод отвязывания от слежения сетевых сообщений - Изменена функция получения IP адреса и полной информации о нем Добавлено (28 Апреля 2020, 16:51) --------------------------------------------- Обновление 3.3.1.
- Исправлены множество багов, выявленных пользователями - Внесены улучшения Добавлено (06 Мая 2020, 16:46) --------------------------------------------- Обновление 3.4.0.
Добавлены новые функции и интеграция с сетевым решение Mirror построенным на базе Unet. Все нововведения будут описаны позже после полной поддержки Mirror Добавлено (07 Мая 2020, 16:23) --------------------------------------------- Обновление 3.4.1.
Можете протестировать процесс запуска игровых комнат на сетевом решении Mirror. Для этого созданы сцены демонстрирующие как это сделать. Добавлено (09 Мая 2020, 17:47) --------------------------------------------- Обновление 3.5.0.
Добавлена основная поддержка Mirror
MirrorRoomManager - управляет комнатой на стороне сервера и клиента MirrorRoomServer - серверная часть игровой комнаты MirrorRoomClient - клиентская часть игровой комнаты MirrorRoomPlayer - содержит информацию о игроке
В IAccountsDatabaseAccessor добавлены асинхронные методы
void GetAccountByUsernameAsync(string username, GetAccountCallback callback) void GetAccountByTokenAsync(string token, GetAccountCallback callback) void GetAccountByEmailAsync(string email, GetAccountCallback callback) void SavePasswordResetCodeAsync(IAccountInfoData account, string code, Action<string> callback) void GetPasswordResetDataAsync(string email, GetPasswordResetCallback callback) void SaveEmailConfirmationCodeAsync(string email, string code, Action<string> callback) void GetEmailConfirmationCodeAsync(string email, GetEmailConfirmationCodeCallback callback) void UpdateAccountAsync(IAccountInfoData account, Action<string> callback) void InsertNewAccountAsync(IAccountInfoData account, Action<string> callback) void InsertTokenAsync(IAccountInfoData account, string token, Action<string> callback)
Решена проблема с токеном авторизации, когда гость входит в систему остается пустой токен авторизации и при повторной попытке входа по токену выходит ошибка. Добавлено (11 Мая 2020, 06:52) --------------------------------------------- Обновление 3.5.1.
- Исправлены баги и ошибки Добавлено (12 Мая 2020, 14:15) --------------------------------------------- Обновление 3.5.3.
[Mirror]
- Баг при потере соединения с комнатой игрок оставался в комнате. хотя должен отправляться в офлайн сцену. Исправлен, теперь отключение от комнаты происходит корректно - Внесены изменения в модуль Лобби - Другие мелкие фиксы
Сообщение отредактировал Aevien - Суббота, 11 Апреля 2020, 08:17 |
|
| |
Aevien | Дата: Суббота, 04 Апреля 2020, 10:46 | Сообщение # 4 | Тема: доработка существующей игры на Юнити с добавлением онлайн |
почти ветеран
Сейчас нет на сайте
| На экране ошибки говорится что вы указали поле в инспекторе, но не назначили его. Соответственно программа пытается получить доступ к данным этого поля и так как их нет, просто выдает вам такую ошибку
|
|
| |
Aevien | Дата: Суббота, 28 Марта 2020, 15:38 | Сообщение # 5 | Тема: Master Server Framework |
почти ветеран
Сейчас нет на сайте
| Жанр: Фреймворк На каком движке/конструкторе: Unity3D В каком пространстве: нет ограничения Какой вид: нет ограничения Какие есть похожие решения: Photon, Smartfoxserver и что то в этом духе Какой Язык Пр. используется: C# Для какой платформы: Windows, Linux, Mac OSX, Web, Android, iOS проверены Предоставление исходного кода проекта: Open Source на GitHub API: Websockets C#, MSF, Terminal Какой тип лицензии распространения: MIT Сроки разработки: 2015 год. Продолжалась до начала 2018 года, возобновилась в 2018 году в сентябре Состав имеющейся команды: 1 человек
Оригинальная последняя версия фреймворка 2.0.4 находится на этой странице GitHub и AssetsStore Официальный дискорд канал: https://discord.gg/bNFVsp Обновленная, моя версия 3.+ находится на этой странице GitHub Unity пакет 3.+ находится на этой странице
По всем вопросам обращайтесь в этой теме или в дискорд Aevien#5815 или в телеграм @aevien_it. Чем смогу, помогу
Привет всем! Давно не появлялся на форуме. Очень много работы и семейных обязанностей повлияли на это, 4 детей как никак, 4 кота и жена)).
В свое время разрабатывал игру, которая размещена на этом форуме, но как бывает у некоторых других проектов заморозил его. В общем, о чем это я?
Участвую в команде, которая разрабатывает игру стратегию, являюсь там программистом, одним из немногих. Так вот на мне лежит клиент серверная часть. И вот нашли интересный опенсорсный проект, который работал хорошо, но разработчик тоже скорее всего как и я обзавелся делами более важными чем интересы проекта. Поэтому проект в течение почти 3 лет (на текущий момент) был вообще без движения с его стороны, но я его доработал. Что уже имеет фреймворк в своем арсенале?
- Система авторизации и регистрации на сервере. Поддержка гостевого входа с последующей регистрацией. - Система работы с аккаунтами игроков. Вы можете создать связь аккаунтов с социальными сетями, связать их со своими сайтами, администрировать. - Система работы с профилями игроков. Возможность хранить и обрабатывать игровые данные пользователей прям на мастер-сервере и синхронизировать их с комнатами и игроками в реальном времени. Например, игрок А может подключиться к комнате 1, а игрок Б из комнаты 2 может смотреть его прогресс если они друзья/сокланы. - Система чатов и чат каналов: приватные чаты между игроками на любых серверах, где бы они не находились. Публичные чаты позволяют общаться всем игрокам на всех серверах и комнатах. Чат каналы, можно использовать для кланов или групп. - Система создания матчей/комнат. Например, игра Counter Strike. В ней игроки могли создавать игровые матчи/комнаты и подключаться к существующим, созданным кем-то другим. Система поддерживает региональность, с помощью ее вы можете предоставлять игрокам возможность играть на серверах, находящихся в близи их места проживания. - Система запуска игровых комнат Spawner. Позволяет администраторам серверов запускать игровые комнаты при помощи системы создания матчей. При этом игровые комнаты могут находиться на внешних серверах, удаленных от самого, мастер-сервера. Используя систему прав, администратор может позволить игрокам запускать экземпляры комнат. - Система Lobby. Позволяет собирать игроков до подключения к игровой комнате, общаться в чате. Пример Battle Royale игры. - Система Networking, позволяющая очень просто отправлять любые сетевые сообщения. API написан довольно просто, поэтому создать сетевой геймплей шутера, стратегии, MMORPG и многого другого не составит труда. - Классы Хелперы, которые тоже помогут очень быстро собрать серверную логику, хотя по умолчанию можно добиться не плохих результатов уже с тем, что фреймворк предоставляет. - Система выполнения задач в многопоточности, не скажу, что суперкрутая, но справляется со своими задачами. Клиенты и сервер обрабатывают сетевые сообщения до того, как передают их в главный поток Юнити.
При заточке его под игру, в которой я участвую, выяснилось, что в нем есть большинство решений наших задач, но вот многое начато и либо не закончено, либо работает, но сделано по-быстрому. Короче Фреймворк понравился и решил я почистить код в согласии с документированными правилами написания C# программ, внести поправки и дополнения.
Вот некоторые изменения и доработки, которые я сделал примерно за год, работал по 3-5 часов в неделю:
- Обновлена библиотека работы с Веб-сокетами - Полностью убрана зависимость от uNet. Вы можете использовать любое сетевое решение для Юнити в совокупности с данным фремворком. Вы также можете написать свой транспорт для работы с сетью в MSF. - Почистил код в модулях и добавил немало изменений и фиксов - Добавлен модуль HTTPServerModule, который помогает, например, создать панель управления мастер-сервером - Добавлен модуль CensorModule, из названия видно, что он помогает фильтровать в чатах и других местах нецензурные высказывания - Добавлен модуль PingModule. чисто для проверки связи с самим мастер-сервером - Добавлен клиентский базовый класс модуля для работы с клиентскими событиями - Переделана система EventsChannel, которая позволяет регистрировать события по каналам и отрабатывать их как угодно. В примерах представленных с фреймворком есть демо-сцены. - В MsfRuntime внесены изменения и доработки, которые позволяют кроссплатформенно получать информацию или выполнять некоторые действия. Пока там мало чего, но уже полезно. - Добавлен терминал консольных команд, разработка от Stillwwater, можно запускать серверные команды прям из него. - Добавлен класс DynamicSingleton, позволяющий создавать «синглтон» объекты быстро на лету - Добавлен класс SimpleNameGenerator для генерации имен игроков. Это не то, чтобы генератор, а маленькая база имен, которая собирает полные имена в согласии с указанным полом - Добавлен класс Singleton, что-то типа DynamicSingleton только проще - Создана система UI, которая позволяет работать с компонентами и окнами, а также система валидации компонентов формы. Например, запрет на отправку данных при неправильно введенном адресе эл. почты - Переработана система синхронизируемых свойств профилей игроков. Теперь она стала более гибкой и расширяемой. - И много других мелочей, все уже и не упомню, так как первичной целью не было делиться с комьюнити
При тестировании на бенчмарке мастер сервер выдерживал спокойно 5000 конкурентных клиентов. Тестирование проводилось выполнением простой задачи. Клиенты массово подключались к мастер-серверу, отправляли 32 байтное сообщение и получали ответ обратно. При этом другие клиенты тоже выполняли подключение и ждали своей очереди для отправки сообщений. Использовал этот бенчмарк https://www.npmjs.com/package/websocket-benchmark.
Я писал первоначальному разработчику и спрашивал его будет ли движение, но он так и не ответил. На оригинальной странице GitHub он дал разрешение делать с Фреймворком все, что вздумается.
Пользуйтесь на здоровье, пишите в дискорд Aevien#5815, если нужно задавайте вопросы тут или тоже в дискорде.
Добавлено (31 Марта 2020, 15:04) --------------------------------------------- Обновление 2.2.4. Перед импортом необходимо полностью удалить старую версию
- RoomServerBehaviour может теперь запускаться как через спаунер, так и как отдельное приложение. Для управления этой функцией используйте поле startRoomAsProcess в инспекторе - ConnectionToMaster переименован в ConnectionHelper и теперь может быть расширен и применен в своих целях - Для быстрого соединения с Мастер-сервером используйте ClientToMasterConnector - SpawnerController имеет некоторые изменения. Удалены неоправданные статические методы. - SpawnerBehaviour также имеет некоторые изменения касательно управления SpawnerController. - Добавлено дополнительное логирование в классы RoomsModule, SpawnersModule для детального отслеживания процесса создания матчей и комнат.
Добавлено (03 Апреля 2020, 08:26) --------------------------------------------- Обновление 2.3.0. Перед импортом необходимо полностью удалить старую версию
- Добавлен интерфейс ISpawnerController - Класс SpawnerController переписан и дополнен. - Внесены существенные изменения в класс SpawnerBehaviour, а также добавлены два поля -- usePublicIp - поможет использовать публичный IP для комнаты -- region - поможет устанавливать региональность комнаты через инспектор - MsfArgs -- Добавлена команда StartSpawner, которая поможет запускать спаунер через командную строку -- Добавлена команда RoomRegion, которая поможет устанавливать региональность через командную строку
Добавлено (06 Апреля 2020, 04:48) --------------------------------------------- Обновление 2.3.1. Перед импортом необходимо полностью удалить старую версию
Небольшие фиксы.
Добавлено свойство Region в класс RoomOptions Исправлена ошибка "Error while handling a message from Client. OpCode: 30021, Error: System.InvalidOperationException: The current state of the connection is not Open"
Добавлено (09 Апреля 2020, 07:31) --------------------------------------------- Обновление 2.3.2. Перед импортом необходимо полностью удалить старую версию
MsfArgNames: -SpawnId (-msfSpawnId) переименован в SpawnTaskId (-msfSpawnTaskId) -SpawnCode(-msfSpawnCode) переименован в SpawnTaskUniqueCode (-msfSpawnTaskUniqueCode) ClientsSpawnRequestPacket: -CustomArgs переименован в CustomOptions -Region удален SpawnRequestPacket: -CustomArgs переименован в CustomOptions -SpawnId переименован в SpawnTaskId -SpawnCode переименован в SpawnTaskUniqueCode -Properties переименован в Options -Исправлены баги с региональность. Теперь если регионне указан, то все комнаты созданные с пустым регионом становятся общими BaseClientModule переименован в MsfBaseClientModule -Также теперь этот класс может прослушивать сетевые сообщения
Сообщение отредактировал Aevien - Пятница, 08 Мая 2020, 03:51 |
|
| |
Aevien | Дата: Вторник, 22 Августа 2017, 12:51 | Сообщение # 6 | Тема: Задание свойств в инспекторе vs задание свойств в коде |
почти ветеран
Сейчас нет на сайте
| То что ты назначаешь свойства в инспекторе и коде по сути роли не играет, по крайней мере я не видел разницу. Но скажу так, что если при запуске у каждого из 10 000 объектов будет стоять функция Start, Awake или Update, они могут повесить компьютер на мертво. Поэтому регулировать изменение такого количества объектов лучше по мере действительной необходимости, но не при старте. Лучше удалять вышеупомянутые функции у объектов если в них ничего не выполняется.
Сообщение отредактировал Aevien - Вторник, 22 Августа 2017, 12:51 |
|
| |
Aevien | Дата: Понедельник, 21 Августа 2017, 01:27 | Сообщение # 7 | Тема: РЕЛИЗ новой логической игры "How finish level?" |
почти ветеран
Сейчас нет на сайте
| привет, игру не в тот отдел занес
|
|
| |
Aevien | Дата: Вторник, 15 Августа 2017, 01:47 | Сообщение # 8 | Тема: Создам сайт для вашей игры. |
почти ветеран
Сейчас нет на сайте
| Цитата PupWithCup ( ) К моему сожалению дизайн - это вопрос тесно связанный с заказчиком, поэтому очень часто тебе и самому не очень нравится дизайн, но приходится оставить именно такой вариант, хотя были куда более красивые, потому что заказчику так нравится.. Искренне поддерживаю и сочувствую. Я столько сайтов уже сделал и постоянно заказчики из красивого дизайна сайта делали такой ужас. Хотя вначале было так красиво все. Особенно часто такое поведение встречается у женщин-заказчиков.
|
|
| |
Aevien | Дата: Пятница, 11 Августа 2017, 11:17 | Сообщение # 9 | Тема: Little Kite |
почти ветеран
Сейчас нет на сайте
| Великолепно смотрится!
|
|
| |
Aevien | Дата: Четверг, 10 Августа 2017, 05:14 | Сообщение # 10 | Тема: Хроники Округа 255. Колония. Вечная мерзлота |
почти ветеран
Сейчас нет на сайте
| Цитата Marsha ( ) Да. Запуталась во вариантах, извините. Значит, актуальный - про развитие колоний? Да вариантов то по сути особо нет. История про Округ так и осталась. В игре будет часто упоминаться о том самом секретном месте, которое обсуждалась вначале. Территория та же самая. Только события происходят несколько десятилетий спустя. Колонии же всего лишь средство выживания в этих местах но не второстепенный элемент игры ))
Цитата Marsha ( ) Небо пока плоское и чуть растянутое. Но это рабочий вариант, наверное. Работаю над этим, мисс!Добавлено (10 августа 2017, 05:14) --------------------------------------------- Привет всем! Немного еще доработал графику ))
|
|
| |
Aevien | Дата: Среда, 09 Августа 2017, 15:37 | Сообщение # 11 | Тема: Куда можно будет выложить своё творение? |
почти ветеран
Сейчас нет на сайте
| Вот два замечательных сайта, которые я могу посоветовать. Тут можно иметь страницу разработки, открыть ранний доступ или подорвать готовый проект https://itch.io https://gamejolt.com
Единственное что они оба на инглише
|
|
| |
Aevien | Дата: Среда, 09 Августа 2017, 14:43 | Сообщение # 12 | Тема: Старожилы, вспомним прошлое |
почти ветеран
Сейчас нет на сайте
| Цитата JackNazaryan ( ) За это время пару раз довелось побывать в бане, однажды в вечном (спасибо администрации за второй шанс) Сразу вспоминаю всех своих учителей, которые тоже гоняли, а теперь в свои за тридцать благодарю их, что помогли не стать отморозком и наркоманом, которые гуляют повсюду.
|
|
| |
Aevien | Дата: Среда, 09 Августа 2017, 11:12 | Сообщение # 13 | Тема: Хроники Округа 255. Колония. Вечная мерзлота |
почти ветеран
Сейчас нет на сайте
| Привет! Идею про СССР уже отбросил давно. действительно события происходят в вымышленной вселенной с некоторыми действительными событиями. Не хочу я углубляться в это. Спасибо!
|
|
| |
Aevien | Дата: Среда, 09 Августа 2017, 10:00 | Сообщение # 14 | Тема: Хроники Округа 255. Колония. Вечная мерзлота |
почти ветеран
Сейчас нет на сайте
| Цитата Ordan ( ) Я бы купил Планируется бесплатное распространение проекта, ибо мне важны не деньги, а игроки. Хочу чтобы люди не думали что купили очередной крутой инди проект из россии, а чтобы думали как из этого очередного проекта помочь разработчику превратить его в крутой. Для этого я и сделал систему отсеивания игроков, которая оставит всех читеров и школоту в низших кругах, а настоящих игроков поднимет вверх. Именно эти игроки мне нужны, с которыми я сам бы играл и советы которых я точно бы принимал всерьез.
Спасибо за оценку проекта такими словами, это для меня ценно, есть смысл дальше работать и развиваться
Добавлено (09 августа 2017, 10:00) --------------------------------------------- Привет всем! Вот решил показать как поработал над графической частью поверхности ландшафта. Можете сравнить со старыми картинками.
Сообщение отредактировал Aevien - Среда, 09 Августа 2017, 10:02 |
|
| |
Aevien | Дата: Вторник, 08 Августа 2017, 15:03 | Сообщение # 15 | Тема: 3D-моделлер, 2D |
почти ветеран
Сейчас нет на сайте
| Привет! художественное 2D смотрится хорошо, а вот 3D на слабом уровне. Думаю надо потренироваться, так как вряд ли обратятся. Короче успехов!
|
|
| |
Aevien | Дата: Понедельник, 07 Августа 2017, 16:12 | Сообщение # 16 | Тема: BGE как создать мультиплеер? |
почти ветеран
Сейчас нет на сайте
| Привет! Не думаю что тут ответят тебе на такой вопрос. Поэтому вот тебе ссылка
|
|
| |
Aevien | Дата: Понедельник, 07 Августа 2017, 15:20 | Сообщение # 17 | Тема: [Unity][FPS] Как можно сделать джетпак в FPS |
почти ветеран
Сейчас нет на сайте
| Тогда дам направление. Смотри, прицепляешь своему персонажу компонент RigidBody, и при помощи таких функций как AddForce и AddRelativeForce и их подобных можно выполнить то что тебе нужно. Кода получится примерно на 3 - 5 строчек.
PS: Кстати, подкинул мне идею насчет JETPACK, думаю тоже реализовать в своем проекте, как дополнение
Сообщение отредактировал Aevien - Понедельник, 07 Августа 2017, 15:22 |
|
| |
Aevien | Дата: Понедельник, 07 Августа 2017, 13:27 | Сообщение # 18 | Тема: [Unity][FPS] Как можно сделать джетпак в FPS |
почти ветеран
Сейчас нет на сайте
| Интересный вопрос. Скрипт скидывать никто не станет, так как писать его надо. А сам программировать умеешь?
|
|
| |
Aevien | Дата: Понедельник, 07 Августа 2017, 03:44 | Сообщение # 19 | Тема: RTS - GWW: GENERALS |
почти ветеран
Сейчас нет на сайте
| Смотрится отлично!
|
|
| |
Aevien | Дата: Понедельник, 07 Августа 2017, 01:58 | Сообщение # 20 | Тема: Хроники Округа 255. Колония. Вечная мерзлота |
почти ветеран
Сейчас нет на сайте
| Цитата tduk ( ) как бы это не пошло по судьбе fable и ты не пошел по пути Питера Молиньё)) если есть какие опасения в этом плане, слушаю. Хочу чтобы сразу решались вопросы, а не потом, когда уже поздно будет ))
|
|
| |
|