NetScape - C# Multi Rev RSPS
Introduction
NetScape is heavily based on Apollo. There are no good C# RSPS's around so I decided to make one which will support multiple revisions and is fairly modular. This server uses DotNetty for Networking.
Repo:
[Only registered and activated users can see links. Click Here To Register...]
Docs:
[Only registered and activated users can see links. Click Here To Register...]
Code Docs:
[Only registered and activated users can see links. Click Here To Register...]
Roadmap
Login
-
317
-
OSRS
-
667
Encoder & Decoder Messages
-
317
-
OSRS
-
667
Npc/Player Updating:
-
317
-
OSRS
-
667
Misc:
-
Plugin system allowing assembly loading/unloading on runtime
-
Player Saving/Loading to DB
-
Unit tests for all modules
-
JS5
-
Multi-rev definition loading
IMAGES
[Only registered and activated users can see links. Click Here To Register...]
[Only registered and activated users can see links. Click Here To Register...]
[Only registered and activated users can see links. Click Here To Register...]
FAQS
Does this only support windows?
- No nearly most if not all OS's support .net5.0
Can i use a different database?
- Yes the server is completely database agnostic and you can configure another DB using Entity Framework, however you will have to re-create the migrations by using the command "Add-Migration MigrationName".
What IDE's can i use?
- You can use Visual Studio 2019 or Rider
[Only registered and activated users can see links. Click Here To Register...]
[Only registered and activated users can see links. Click Here To Register...]
Why?
Current servers these days are made to throw away if one wants to update the revision. Its usually a nightmare to change protocols whilst preserving logic which is NOT protocol specific. This server will give the user the ability to make revision specific modules which can easily be switched out to change protocol.
.e.g. If someone wanted to change from 317 to 508 they'd only have to re-write/change these revision specific modules:
[Only registered and activated users can see links. Click Here To Register...]
And reference their new revision specific modules via the Kernel class so the DI container can wire up the interfaces correctly:
[Only registered and activated users can see links. Click Here To Register...]
Where are the encoder & decoder messages?
Netscape uses code gen to generate encoder/decoder message models. This makes it easier to change revisions as all the information of FIXED message structures are defined in a json file. The messages will be generated in the project "NetScape.Modules.Messages". This project will also have a few messages which are not a fixed packet size implemented manually .i.e. WalkingQueueMessage
This JSON file:
[Only registered and activated users can see links. Click Here To Register...]
Creates:
[Only registered and activated users can see links. Click Here To Register...]
Credits
- JayArrowz
- Graham
- Major
- Scu11
-
[Only registered and activated users can see links. Click Here To Register...]
-
[Only registered and activated users can see links. Click Here To Register...]