- Joined
- Jul 9, 2009
- Messages
- 1,402
- Reaction score
- 821
Здравейте съфорумници
Днес реших, че искам да се поразръчкам малко из MuOnline sources и ми направи впечатление, че все-още няма особено много решения за MuServer под Linux/Mac. Всичко е обвързано с Windows, което не е много яко, защото хостинг на Windows си е в пъти по-скъпо от хостинг на Linux. Да не споменаваме speed, reliability, security, etc.
Та, реших да започна тази инициатива с чисто опознавателна цел. Далеч съм от мисълта, че ще я докарам до production ready. Дори не съм сигурен дали след някакво време няма да се откажа. Бутам само когато имам свободно време и ми се занимава.
Към момента какво съм направил:
Имаме Node.js ConnectServer който създава 1xTCP & 1xUDP сървъра. TCP сървъра слуша на порт 44405 и предназначението му е да си комуникира с клиента. Частта с комуникацията с клиента е готова на 100%. UDP сървъра служи за комуникация с JoinServer & GameServer. Там съм на 50% готов - получавам инфо от GameServer, остава да се декоднат пакетите и от JoinServer-a и да им се намери предназначение.
Тъй като е javascript, сметнах за по-яко ако вместо ServerList.dat да имаме ServerList.json, съответно във валиден JSON формат.
Имплементирал съм възможност да се презареждат настройките в ServerList.json през терминала - не е нужно да рестартирате сървъра за да се отразят промените. Имплементирах и нещо, което обикновенните ConnectServers нямат - при reload, да прати пакет на всички вързани клиенти да си обновят информацията и те - примерно ако добавя нов сървър в ServerList.json, мога да напиша "reload" и да видя промените си директно в клиента (без да трябва да рестартирам ConnectServer или Client).
След определено време най-вероятно ще пусна Github repo и ще го направя open-source. Най-вероятно ще преструктурирам и този пост за да е по-подреден и не чак толкова фокусиран върху ConnectServer а по-скоро върху цялата картинка.
Към момента в главата ми е следния списък с неща, които да метна на Node.js: ConnectServer, JoinServer, DataServer, GameServer.
Видео демо на ConnectServer.js:
Моля споделете 1 мнение какво мислите по въпроса, бихте ли взели участие в open-source-a и кат цяло какво мислите xD
Днес реших, че искам да се поразръчкам малко из MuOnline sources и ми направи впечатление, че все-още няма особено много решения за MuServer под Linux/Mac. Всичко е обвързано с Windows, което не е много яко, защото хостинг на Windows си е в пъти по-скъпо от хостинг на Linux. Да не споменаваме speed, reliability, security, etc.
Та, реших да започна тази инициатива с чисто опознавателна цел. Далеч съм от мисълта, че ще я докарам до production ready. Дори не съм сигурен дали след някакво време няма да се откажа. Бутам само когато имам свободно време и ми се занимава.
Към момента какво съм направил:
Имаме Node.js ConnectServer който създава 1xTCP & 1xUDP сървъра. TCP сървъра слуша на порт 44405 и предназначението му е да си комуникира с клиента. Частта с комуникацията с клиента е готова на 100%. UDP сървъра служи за комуникация с JoinServer & GameServer. Там съм на 50% готов - получавам инфо от GameServer, остава да се декоднат пакетите и от JoinServer-a и да им се намери предназначение.
Тъй като е javascript, сметнах за по-яко ако вместо ServerList.dat да имаме ServerList.json, съответно във валиден JSON формат.
Имплементирал съм възможност да се презареждат настройките в ServerList.json през терминала - не е нужно да рестартирате сървъра за да се отразят промените. Имплементирах и нещо, което обикновенните ConnectServers нямат - при reload, да прати пакет на всички вързани клиенти да си обновят информацията и те - примерно ако добавя нов сървър в ServerList.json, мога да напиша "reload" и да видя промените си директно в клиента (без да трябва да рестартирам ConnectServer или Client).
След определено време най-вероятно ще пусна Github repo и ще го направя open-source. Най-вероятно ще преструктурирам и този пост за да е по-подреден и не чак толкова фокусиран върху ConnectServer а по-скоро върху цялата картинка.
Към момента в главата ми е следния списък с неща, които да метна на Node.js: ConnectServer, JoinServer, DataServer, GameServer.
Видео демо на ConnectServer.js:
Моля споделете 1 мнение какво мислите по въпроса, бихте ли взели участие в open-source-a и кат цяло какво мислите xD
Github repo: https://github.com/pafa7a/mu-online-js
- Updated root README.md
- Created a Discord server for the project - https://discord.gg/TFEZ7j4MZd
- The libs "mu-packet-manager" and "mu-db" are now publicly available in npmjs.com
- JoinServer TCP handlers are moved into separate files
- Added handler for login packets & returning response to GS
- Created GitHub project to tackle all future development & contributions: https://github.com/users/pafa7a/projects/4/views/2
- Registered domains "mu-js.com" and "muonline-js.com"
Upcoming plans:
- Complete user login logic in JoinServer, so it's using the DB to verify the credentials & returns the proper response
- Refactor the ConnectServer TCP & UDP servers - move all handlers into separate files
- Created a Discord server for the project - https://discord.gg/TFEZ7j4MZd
- The libs "mu-packet-manager" and "mu-db" are now publicly available in npmjs.com
- JoinServer TCP handlers are moved into separate files
- Added handler for login packets & returning response to GS
- Created GitHub project to tackle all future development & contributions: https://github.com/users/pafa7a/projects/4/views/2
- Registered domains "mu-js.com" and "muonline-js.com"
Upcoming plans:
- Complete user login logic in JoinServer, so it's using the DB to verify the credentials & returns the proper response
- Refactor the ConnectServer TCP & UDP servers - move all handlers into separate files
Last edited: