Опрос:
У вас нет прав голосовать в этом опросе.
Всего 0 голос(ов) 0%
* Вы проголосовали за этот ответ. [Показать результаты]

Рейтинг темы:
  • 0 Голос(ов) - 0 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
Open source Blade & Soul Scala Server Emulator
#1
Git репозиторий:
https://github.com/HeXLaB/play.bns
Перенос еще не закончен, и продолжается прямо сейчас.

// ---------------------------------------------------------------------------------------

http://goo.gl/VwnNfK

Наш апдейтер, для тех кому нужен последний клиент работающий с нашей сборкой. Он регулярно обновляется и соответствует поддержке сервера.

По умолчанию апдейтер качает в папку .target рядом с ним.

Как указать папку куда качать клиент? Есть 2 варианта.

Вариант первый:

bns.updater.exe -t куда_качаем

Вариант второй:
* запускаем bns.updater.exe
* выключаем
* открываем config.json (должен создатся рядом с bns.updater.exe)
* заменяем .target на желаемый путь
* запускаем bns.updater.exe

VirusTotal: report

// ---------------------------------------------------------------------------------------

Итак, с чего же начать..., пожалуй начну с того что я являюсь членом закрытой команды разработки Blade & Soul. Но есть желание разрабатывать Blade & Soul как open source проект. Почему open source? Просто потому что проект само собой огромный, естественно он требует огромного количества ресурсов. Конечно можно насобирать такое количество ресурсов если есть хорошее финансирование, или программисты работают за хлеб, хм, может быть обратится к индусам(слышал они работают за копейки)? Нет, пожалуй давайте лучше создадим open source проект.

Какие у нас цели:
1) конечно же создать эмулятор Blade & Soul в всей его полноте
2) создать масштабируемую платформу
3) использовать как можно меньше shared-state
4) вывести эмуле-строение на новый уровень
5) избегать глобальных сервисов
6) для разработчиков скриптов/ДП должен быть удобное API без необходимости использовать synchronized..., Atomic..., Thread..., Unmodifiable etc
7) "just-in-time development" (термин сам придумал Smile ), расширяем, пишем скрипты без необходимости перекомпилировать/перезапускать сервер. Почти как WYSIWYG Smile

Что у нас уже есть:
1) рабочий сервер авторизации
2) рабочий лобби сервер
3) рабочий гейм сервер

Технологии которые мы используем:
* Scala http://www.scala-lang.org/
* Maven http://maven.apache.org/
* Akka http://akka.io/
* Slick http://slick.typesafe.com/
* Logback http://logback.qos.ch/

Общая модель:
Код:
игровой мир(актор систем)
                    |                                  |
           игровая карта 1 (актор)            игровая карта 2 (актор)
                   инстансы                          инстансы
             игроки, нпц, и тд                 игроки, нпц, и тд


1) все игроки на одной карте/инстансе обрабатываются синхронно
** нету проблем с synchronizatin, deadlocks, memory visibility и тд
2) общение между мирами асинхронно
3) миры могут быть на одном потоке или нескольких (зависит от нагрузки и конфигурации)
4) миры могут быть на одной машине или нескольких (зависит от нагрузки и конфигурации)
5) безболезненное распределение нагрузки
6) это решение проблемы https://forum.zone-game.info/showthread.php?t=33785

ЧАВО:
1) почему Scala, а не Java, C#, С++, Go...
* vs Java - Scala это очень мощный язык, на много мощней Java и намного удобней даже Java 8, не говоря уже о Java 7-, полная совместимость с любыми либами Java
* vs Any - Akka, Slick работают лучше всего/только с Scala
* vs C# - в Scala можно сделать все что есть в C# и даже больше (речь не о Desktop Applications)
* vs C++ - "ресурсов" нужно еще больше...
* vs Go - язык слишком молодой, и я как и язык не готов брать на себя такую ответственность

2) почему open source
* open source проект это лучшее место для обучения и реализации своих идей
* если посмотреть на сферу MMODEV'а а именно Lineage II или Aion имеют огромную историю, четко видно что все именно благодаря такому проекту как
l2jserver -> l2jfree -> l2emu -> l2emu-rt -> l2...
-> Rebellion -> Phoenix -> Overworld ...
и
aionemu -> mir, aionengine, aionlighting
нехилая база, не так ли?
* каждый работающий в сфере Lineage II и Aion имеет работу благодаря выше названным проектам
* возможность каждому (без сомнения) внести свою часть в проект
* open source проекты часто оставляют вне конкуренции любые коммерческие проекты

3) сейчас снова появится 100500 команд и тру девов
это правда и с вероятностью 100% я могу сказать что так и будет, но посмотрите сами, где они сейчас? где тру девы L2 и Aionа? правильно, ушли на помойку туда откуда они и пришли...

4) с какой версией клиента мы работаем
мы работаем с последней версией Корейского клиента

5) я не умею делать это, это и это, что мне делать?
на самом деле работы хватит всем, играя на оф серверах вы можете собирать информацию как работает тот или иной механизм, вы можете анализировать трафик, вы можете собирать дампы трафика с оф серверов, вы можете писать утилиты, вы можете заниматься тестированием реализованных вещей другими людьми, вы можете модерировать тикеты, вы можете предлагать свои идеи, вы можете разбирать клиент на части и искать в нем полезную информацию, и в конце концов вы можете поднимать боевой дух команды! что очень важно!

------

Hm, how to start..., let's start with introducing myself, I'm member of closed-source Blade & Soul development team. But I have a great desire to develop Blade & Soul as open source project. Why open source? Just because project itself is huge, of course it requires huge amount of resources. Of course you can collect such a huge amount of resources if you have a lot of money or programmers work for a piece of bread Smile No, let's create open source project.
Our aims:
1) of course create Blade & Soul Emulator in its completeness
2) create scalable platform
3) use shared-state as rare as possible
4) bring emulation to new level
5) avoid global services
6) for script developers/DP should be provided useful API without requirement how to use synchronized..., Atomic..., Thread..., Unmodifiable etc
7) "just-in-time development" (custom termSmile ), expand, write scripts without any need to rebuild/recompile/rerun application. Almost as WYSIWYG Smile

What we already have:
1) working Auth Server
2) working Lobby Server
3) working Game server

Technologies we use:
* Scala http://www.scala-lang.org/
* Maven http://maven.apache.org/
* Akka http://akka.io/
* Slick http://slick.typesafe.com/
* Logback http://logback.qos.ch/

FAQ:
1) why Scala, but Java, C#, C++, Go...
* vs Java - Scala is very powerful language, much more powerful then Java and much more flexible and useful then Java 8, without even mentioning Java 7-, plus full compatibility with all Java Libraries.
* vs Any - Akka, Slick work better/only with Scala
* vs C# - Scala can do anything C# has and even more (I'm not talking about Desktop Applications)
* vs C++ - you need even more human resources
* vs Go - language is too young, I as well as language is not ready to take such a huge responsibility

2) why open source
* open source project is the best place to study and implement your own ideas
* if you look on MMORPG development sphere you can see that Lineage II as well as Aion have huge history. You can without drought see that because of l2jserver and aionemu we have such a huge heritage. just look:
l2jserver -> l2jfree -> l2emu -> l2emu-rt -> l2...
-> Rebellion -> Phoenix -> Overworld ...
and
aionemu -> mir, aionengine, aionlighting
cool!, isn't it?
* every worker has a job because of projects mentioned above
* everyone (without dough) can contribute!
* open source projects often are leaving out of the competition any commercial projects

3) maybe a lot of fake teams may appear
this is true, this will probably happen, but look, where are they? where these "true" developers? you are right, they are eating rubbish...

4) what client do you use
we use latest Korean client

5) I don't have enough skills but I want to participate, what I can do?
truly everybody can have piece of work, you may play on Live server to collect data, how this or that works, you may analyze traffic, you may collect traffic dumps from Live servers, you may write different utils, you may help to test this or that, you may moderate tickets, you may suggest your ideas, you may analyze client and try to eject useful information, and in the end you can lift the team's morale! that is very important!
l2jfree | M.O.R.F. | A.P.S. | Aion | GW2 | BnS
Ответ
#2
Знаний хватит? Писать на скале?
consulo.io - Consulo - multi-language IDE
Ответ
#3
Господи. Опенсурс эмуль на скале. Я дожил до этого момента. Обязательно приму участие в разработке. Smile

А где ссылки на сам эмуль ? Sad
Ответ
#4
VISTALL Написал:Знаний хватит? Писать на скале?

хватит, это не первый мой проект на Scala

GabberBaby Написал:Господи. Опенсурс эмуль на скале. Я дожил до этого момента. Обязательно приму участие в разработке. Smile

А где ссылки на сам эмуль ? Sad

эмуль выложу если будет интерес

принимайте участие в опросе

еще одно, проект изначально планирую international, любые люди с любой страны приветствуются

Добавлено через 33 минуты
модераторам: пропустил пробел в теме между Open и source
l2jfree | M.O.R.F. | A.P.S. | Aion | GW2 | BnS
Ответ
#5
hex1r0 Написал:эмуль выложу если будет интерес

Я уверен, что интерес будет. Вон к л2 и аиону же есть, хотя они говно еще то. А бнс вроде обещает быть нормальной ммошкой.

Кстати, а почему используете мавен, а не сбт ?
Ответ
#6
GabberBaby Написал:Я уверен, что интерес будет. Вон к л2 и аиону же есть, хотя они говно еще то. А бнс вроде обещает быть нормальной ммошкой.

я не вижу особого интереса..., нужна мобилизации или все потухнет как было с терой

GabberBaby Написал:Кстати, а почему используете мавен, а не сбт ?

SBT тоже рассматривается если не будет проблем с миграцией, но это мелочь, и не должна пока кого то волновать
l2jfree | M.O.R.F. | A.P.S. | Aion | GW2 | BnS
Ответ
#7
[Изображение: ylev.png]
(с)Deazer
На хабре до сих пор гуляет xD
Ответ
#8
Готов принять участие
Ответ
#9
+
l2jfree | M.O.R.F. | A.P.S. | Aion | GW2 | BnS
Ответ
#10
hex1r0 Написал:я не вижу особого интереса..., нужна мобилизации или все потухнет как было с терой



SBT тоже рассматривается если не будет проблем с миграцией, но это мелочь, и не должна пока кого то волновать

Обычно там нету никаких проблем. Единственное с чем я встретился - так это то что SBT дольше обновляет артефакты. К примеру в репах Мавена есть ActiveMQ последней версии, а в SBT только предпоследняя. Хотя я думал что у них один и тот же репо
Ответ


Возможно похожие темы ...
Тема Автор Ответы Просмотры Последний пост
  I want to buy the latest server files of BNS. If you have the latest server files, please contact me, I will buy them... Sakura 0 2,828 11-16-2020, 12:48 AM
Последний пост: Sakura
  Я хочу приобрести последние файлы сервера Blade Soul Sakura 0 2,564 11-05-2020, 02:28 PM
Последний пост: Sakura
  Blade & Soul Dat Update [UOSEDALB] CriticalError 0 2,891 06-30-2020, 06:26 PM
Последний пост: CriticalError
  Source c# Blade & Soul Exile03 2 13,523 11-23-2016, 01:56 PM
Последний пост: bola
  Blade And Soul эмулятор (Atomix исходники) Manguster 44 39,006 08-28-2016, 03:59 PM
Последний пост: Gitty32
  Blade&Soul нужна помощь с сервером KoToWeD 0 4,072 08-15-2016, 03:48 AM
Последний пост: KoToWeD
  Перевод игры Blade and Soul luna9966 101 54,230 03-22-2015, 01:14 PM
Последний пост: RogerUP
  Куплю файлы Blade and soul nokxx 0 3,761 09-16-2014, 04:03 PM
Последний пост: nokxx
  Строим эмулятор B&S emulator from scratch luna9966 8 11,595 08-23-2014, 12:05 AM
Последний пост: NikolaSerb
  [Korea] Blade and Soul GameGuard Killer Deazer 21 12,330 06-16-2014, 04:08 PM
Последний пост: djoneill

Перейти к форуму:


Пользователи, просматривающие эту тему: 1 Гость(ей)