nyarum 15 Report post Posted August 7, 2017 (edited) Noterius - это проект игрового эмулятора, который будет являться НЕ точной копией официального сервера. Почему "НЕ точной"? Потому что нет объективного смысла делать полное подобие PKO, TOP, Piratia и XHDW. Остальное будет на усмотрение других разработчиков, делаете форки и разрабатываете эмулятор под себя, там будут все удобства для этого. На правах рекламы и развития опен-сорса - https://github.com/Nyarum/noterius Канал в телеграме - t.me/noterius Скоро будет полное README по запуску и текущему прогрессу в виде issue.Из предисловия, что было раньше (Хоть это и называлось new generation architecture): - Хреновая работа с базой данных - Ниочемная работа с логикой и смешивание это с парсером пакетов - Никакого заложенного будущего расширения эмулятора - Множество багов связанных с обработкой пакетов - Производительность страдающая из-за самой основыЧто уже есть сейчас: - Полностью акторная модель, построенная при помощи protoactor в Go - Все главные сетевые элементы в виде акторов (ConnectReader, PacketReader, PacketSender) умеют обрабатывать себя и данные в 5 конкурентных потоков, если того потребует нагрузка. - Правильная обработка пакетов - Использование интерфейсов везде, где их можно внедрить для удобного unit тестирования - Работа с базой данных построенная на обычном query билдере - Правильное пробрасывание всех корневых элементов, без использования лишних аллокаций в кодеКакие акторы существуют уже сейчас: ConnectReader - принимает на себя чистые байты, проводит их по network пекеджу для разбора пакетов и отправляет девственный пакет с разобранными филдами в PacketReader PacketReader - принимает на себя чистые структуры, свитчит по ним и в зависимости от структуры делает дальнейшие действия. Минимум логики - больше роутинга в главные акторы. PacketSender - пушилка пакетов в коннект, с процедурой маршалинга структуры в байтики. Player - вся логическая обработка игрового аккаунта и персонажа. World - обработка самого мира, как следует из названия, будет так же следить за всеми передвижениями игроков, от чего в будущем он может делать различные действия на свое усмотрение. Welcome to the new world, guys :3 Edited August 7, 2017 by nyarum 3 Quote Share this post Link to post Share on other sites
V3ct0r 2,117 Report post Posted August 7, 2017 Привет, @nyarum! Если не трудно, пиши проще. Не все знают что такое акторная модель, конкурентные потоки, юнит-тесты, аллокации и т.д., какие приемы и технологии ты используешь при разработке. Будет классно, если ты коротко и просто расскажешь обо всем этом. И как всегда - удачи с разработкой, держи нас в курсе событий. Я видел ты в Discord узнавал про серверы с выключенным шифрованием для того, чтобы отсниффать пакеты. В принципе в этом нет необходимости, можно посмотреть структуру пакетов в исходниках сервера и клиента, которые мы выложили год назад: 1 Quote Some useful links / Полезные ссылки Tips for making a topic in 'Questions & Help' / Рекомендации по созданию тем в разделе "Помощь" Server Advertising Section Rules / Правила раздела "Реклама серверов" Available e-mail domains for registration / Допустимые e-mail домены для регистрации User groups / Группы пользователей User ranks / Звания пользователей "Broken" pictures on the forum / "Битые" изображения на форуме Beware of scammers! / Осторожно, мошенники! My developments / Мои разработки Mods for client and server / Моды для клиента и сервера PKOdev.NET website for Tales of Pirates Server / PKOdev.NET веб-обвязка для сервера Пиратии I do not provide any help in private messages and outside the forum. Use 'Questions & Help' section please. Thank you for understanding! Я не оказываю какую-либо помощь в личных сообщениях и вне форума. Пожалуйста, используйте раздел "Пиратия: Помощь". Благодарю за понимание! Share this post Link to post Share on other sites
nyarum 15 Report post Posted August 7, 2017 5 hours ago, V3ct0r said: Привет, @nyarum! Если не трудно, пиши проще. Не все знают что такое акторная модель, конкурентные потоки, юнит-тесты, аллокации и т.д., какие приемы и технологии ты используешь при разработке. Будет классно, если ты коротко и просто расскажешь обо всем этом. И как всегда - удачи с разработкой, держи нас в курсе событий. Я видел ты в Discord узнавал про серверы с выключенным шифрованием для того, чтобы отсниффать пакеты. В принципе в этом нет необходимости, можно посмотреть структуру пакетов в исходниках сервера и клиента, которые мы выложили год назад: По ходу разработки, обязательно Сорсы - это хорошо, с ними намного стало проще. Но реальные данные с сервера для сравнения мало, что заменит. Quote Share this post Link to post Share on other sites
nyarum 15 Report post Posted August 9, 2017 Сейчас встал важный вопрос на пути эмулятора Я описал его тут - https://github.com/Nyarum/noterius/issues/5 и желательно обсуждать его там же. В переводе сюда, эмулятор может использовать LUA для скриптов, но тогда мы - Получим низкую производительность самой логики - Ошибки со скриптами только при их исполнении В плюсах только то, что - Если изменили скрипты, то сам сервер не потребует перекомпиляции - Знакомый скриптовой язык Но так же можно не внедрять LUA и описывать логику на самом Go, плюсы и минусы соответственно меняются между собой. Кто что думает? Quote Share this post Link to post Share on other sites
BETEP/macs509 87 Report post Posted August 10, 2017 Чем сложнее, тем меньше людей будут использовать Quote Share this post Link to post Share on other sites
nyarum 15 Report post Posted August 10, 2017 (edited) On 8/10/2017 at 10:22 AM, BETEP/macs509 said: Чем сложнее, тем меньше людей будут использовать Предполагаю, что сам по себе эмулятор, в рабочем виде и с покрытой документацией будет иметь интерес для людей. Остается лишь вопрос в том, чтобы получить респонс, чего больше люди хотят увидеть на основе плюсов/минусов того или иного подхода, ибо написание скриптов по сложности не будет выше, чем на LUA в официальном сервере, API доступный из скриптов будет максимально понятный для управления игровым миром. И так как из мира уберутся такие слабодоступные услуги, как защита сервера. Сейчас в процессе стараюсь писать так, чтобы не было вариантов обойти ту или иную сетевую систему, даже с такой популярной проблемой, как дюп или множественный дос пакетами. Edited August 13, 2017 by nyarum Quote Share this post Link to post Share on other sites
nyarum 15 Report post Posted August 11, 2017 Вывел весь список по пакетам из сорсов - https://github.com/Nyarum/noterius/issues/6 Quote Share this post Link to post Share on other sites
nyarum 15 Report post Posted August 13, 2017 (edited) Потихоньку и полегоньку развиваем эмулятор, описал 2 вики страницы для уточнений по новому виду issue - https://github.com/Nyarum/noterius/wiki/Error-enums - https://github.com/Nyarum/noterius/wiki/Network-package И одно issue на покрытие пакета "Создание персонажа" - https://github.com/Nyarum/noterius/issues/7 Если кто-то будет браться за помощь, пишите мне в дискорде по любому вопросу. Сейчас пока что есть 1 парень из англоязычного сегмента, который пожелал этим заниматься. Чтобы начать работу, форкаете эмулятор к себе в репозиторий и начинаете описывать. После создаете пулл реквест в основном репозитории с вашего форка, я проверяю и мержу. Все issues и вики страницы я буду описывать только на английском, для того, чтобы сохранить понимание между всеми участниками гитхаба. Edited August 13, 2017 by nyarum Quote Share this post Link to post Share on other sites
nyarum 15 Report post Posted August 20, 2017 Обновил ридми, теперь каждый может установить эмулятор к себе свободно. Релизы в бинарниках будут не раньше, чем через месяц. Сейчас их выпускать смысла особого нету. Вместе с этим покрыл полностью пакеты связанные с этапом персонажей, входа в мир пока нету. 2 Quote Share this post Link to post Share on other sites
nyarum 15 Report post Posted August 23, 2017 Есть финальный апдейт по тематике выбора решения для реализации скриптов - https://github.com/Nyarum/noterius/issues/5#issuecomment-324454252 Quote Share this post Link to post Share on other sites
nyarum 15 Report post Posted September 1, 2017 Если кто-то может помочь с новым таском - https://github.com/Nyarum/noterius/issues/8, то это очень бы помогло продолжить развитие. Quote Share this post Link to post Share on other sites
nyarum 15 Report post Posted October 1, 2017 Ребят, кто заинтересован в проекте. Сейчас пишу эмулятор на стадии разбора бинарей клиента, ибо структура каждого не совсем точно понятна. Отпишите тут, если кто-то хочет помочь и потом соберем телеграмм группу / дискорд. 1 Quote Share this post Link to post Share on other sites
pirate 2 Report post Posted October 6, 2017 В 02.10.2017 в 02:32, nyarum сказал: Ребят, кто заинтересован в проекте. Сейчас пишу эмулятор на стадии разбора бинарей клиента, ибо структура каждого не совсем точно понятна. Отпишите тут, если кто-то хочет помочь и потом соберем телеграмм группу / дискорд. Братан добавляй меня. Quote Share this post Link to post Share on other sites
nyarum 15 Report post Posted October 7, 2017 Отлично, раз один точно есть, создал в Dicsord новый сервер, инвайт - https://discord.gg/PqbdtUf 1 Quote Share this post Link to post Share on other sites
nyarum 15 Report post Posted October 15, 2017 Апну данную тему, сам я по себе сейчас не очень активный, но готов рассказать и показать - что нужно для продолжения разработки. Сейчас есть пару вещей, на которых эмулятор застрял и сломанный мост нужно открыть для продолжения. Сейчас уже есть двое добровольцев в дискорде и это замечательно. Заходите, кто желает набраться опыта или увидеть в свете играбельный эмулятор - https://discord.gg/PqbdtUf Никого не съем. Quote Share this post Link to post Share on other sites
nyarum 15 Report post Posted December 10, 2017 (edited) Привет всем, не буду давать дальнейшие ложные надежды на данный эмулятор. В этот раз официально объявляю, что дальнейшую разработку вести не планирую, по довольно обычной причине - время не сходится с желаниями, а разрабатывать его отрывками постоянно - затея не из лучших, ибо код становится постепенно чем-то не родным. Репозиторий провисит еще неделю и потом я его удалю, делайте форки, если кому-то он останется нужным. Edited December 10, 2017 by nyarum Quote Share this post Link to post Share on other sites