Nos# Emulator - Presentation

12/10/2017 00:09 BlowaXD#1
[Only registered and activated users can see links. Click Here To Register...]

What is Nos# ?

Nos# is a new awesome closed source emulator.
Written in C# (7.2) with .NET Core (2+) framework.

To Follow our development progress, do not hesitate to come on our Discord !
[Only registered and activated users can see links. Click Here To Register...]

Even if you think so, Nos# is written from scratch, not using any code from OpenNos.

Who develops Nos# ?

Blowa, Kraken, Elendan, Syleze.

What differs Nos# from other emulators?

You live in 2017 and find that Nostale is not evoluting anymore ?

Let's bring a new eye on Nostale.
  • Modern Architecture
  • Easy deployment (AWS, Azure, Docker...)
  • Thinked to be light & moddable
  • Performant (much more than OpenNos)
  • Cross Platform (running under Linux, Windows & MacOSX)
  • Well thinked (to not reboot OpenNos errors)
  • Plugin System


Which technologies you are using to develop Nos# ?

C# / ASPNET / F# (.Net Core)
  • Core
  • CLI
  • SDK
  • API
  • Plugins


NodeJS/VueJS :
  • Website
  • Launcher
  • Client Modder


RoadMap

Current = *
Achieved = **

Quote:
1.0 - Generic MMO Core (2 weeks)


- Server Architecture**
- Generic Packet Handling**
- Pluggable Logging System**
- Performant Networking**
- CLI**
- BugTracker System**
- Abstract ECS**
- Plugin System**
- Channel / Server Management**
- Multi Channel/Server support**



1.1 - Nostale Implementation (2 month)

Moving :
- Map
- Movement
- Grid-System (Blocking)
- Proper Pathfinding

Inventory :
- Item support
- Inventory System

PNJ :
- Shop
- Recipes
- Npc Dialog

Battle :
- Skill System
- NPC Support
- BattleSystem (PVE/PVP)
- Buffs/Debuffs/Item Effects/Jewelry/Shell
- Monster Support
- Vehicle system
- Pet/Partner System

Character:
- Groups
- XP
- Drop
- Skill bar
- Bazaar
- FriendList/BlackList
- Family


1.2 - Advanced Scripting/Modding (2 month)

- Raid System
- TimeSpace System
- Quest System
- Talent Arena System
- Act4 System
- MiniLand System
- Custom Systems
12/10/2017 00:46 sysyl#2
I still think that logo is really magnificent, even more when it's bigger <3
12/12/2017 21:24 BlowaXD#3
Core has been finished much earlier than expected. (took 3 days instead of 2 weeks)

We are actually architecturing our implementation of the in game behavior to be as flexible / maintainable as possible.
01/05/2018 14:12 BlowaXD#4
Our ECS is almost finished (need to finish our benchmarks for a cool way to notify our different running system, the actual one is based on the observer pattern.)

Aswell, after some IoC tests, we could easily write and plug some external plugins thanks to our SDK.
01/06/2018 18:37 NosBreak#5
Will it be open source? If so, I can not wait anymore !!! It looks very good, something different to everything seen today! great job!
01/06/2018 19:50 BlowaXD#6
As told earlier on our Discord :

There will be an release on GitHub with our SDK + Basic "World Server"
Just come on our discord if you want more information.

Anyway we'll keep that thread informed.
03/05/2018 21:54 Blowa#7
Up,

I've opened the SDK, actually, it's under development, on my free time, I won't provide implementation, however, this SDK is totally opened to pull requests :)

[Only registered and activated users can see links. Click Here To Register...] (This is mirrored from a GitLab repository)

In what this SDK is better than using raw OpenNos ?
- Usage of IoC (Inversion of Control) so you can have what ever implementation on the "working" side it will be compatible with other people implementations
- Documentation (not yet, i'm going to document it as soon as I have some free time)
- Unit tested & Integration tested
- Thinked for modding / modularity
- .NET Standard 2.0 libs
- Almost independant (just using Newtonsoft.JSON actually)


About the server side, I've my own implementation using :
RabbitMQ, gRPC, Redis, PostgreSQL, Docker & .NET Core 2.0 + DotNetty

About the "server architecture" :
- Master Server (Global Session & Channels Mediator)
- Login Server (Accepting & validating sessions)
- World Server (Implementing the game logic)
- Auction Server (NosBazaar)
- Many configuration data instead of using in source algorithms