Sirius Emulator - From Scratch - C# 6.0

Status
Not open for further replies.

Seriosk

Programmer;
Oct 29, 2016
256
105
Firstly, will be slowed down due to the new arrival of this development, and the fact that I want to put all my time in to this development to ensure I actually deliver.

I have held off posting this thread for a few days as I wanted to ensure I actually had the motivation to finish it, and that I could actually last a few days without getting bored of the project. I finally decided to post this because I wanted to share it with all of you guys, some of you may of seen my old post titled "Looking for C Sharp developers", well now you know what the secret development was all about. I didn't really want to release it this soon because I know I would most probably get hate saying that I would loose motivation.

Firstly, I want to thank @JMS (Hosting + Beta), @JynX (Support) and @Kodys (Contributor) for their 100% support on this project. There are other people who have helped with other things but they don't have DevBest accounts (Their listed in the GitHub anyway). I also want to thank who ever did the original encryption on PlusEMU whenever it was @Joopie or @Sledmore or whoever as Sahara uses that library (this may change, just used it as its the default one everyone uses), also not forgetting HabboEncryption.dll.

I also want to give a little credit to PlusEMU and all of its contributors, I sometimes go and check out a packet structure, or look at the way they did something. I also use Plus's database structure so when its timeto release this emulator, they wont have to convert it..

I tried keeping the amount of references low because in the past I've seen some issues with either them not being included in the Solution (having to re-add manually), or causing issues for the noobs of this community, plus I personally don't like closed librarys.

Introduction
Sahara is a habbo emulator provided to the public to emulate their habbo retros, it comes with the latest modern features along with a few of my own. Sahara also includes RP functionality (Business Management, Gang Management, etc..) which hasn't been added yet but does plan on being added once we have completed the hotel base and have time to code in custom functionality. We plan to achieve everything that Plus Emu currently has but with a stronger, cleaner and overall better base.

The GitHub repository currently includes some files that I haven't gotten round to cleaning up yet (especially the encryption, its a fucking mess), also some files contain private fields and public datatypes when I could merge them to just a public with a private setter (will probably do that soon), I will try and get a commit out tonight with all of this done. I'm basically just doing this to educate myself, and hopefully further my C# knowledge because there is always room for improvement.

I know this emulator comes nowhere near big emulators such as Plus, Azure, Arcturus but I want to provide the community with an emulator that will constantly be updated by the developers and will actually listen to the users input.

Packet Completed
  • GetClientVersionMessageEvent [4000] => completed
  • InitCryptoMessageEvent [316] => completed
  • GenerateSecretKeyMessageEvent [3847] => completed
  • ClientVariablesMessageEvent [1600] => completed
  • SsoTicketMessageEvent [1778] => completed
  • UniqueIdMessageEvent [1471] => completed
  • GetPromoArticlesMessageEvent [3895] => completed
  • RefreshCampaignMessageEvent [3544] => completed
  • InfoRetrieveMessageEvent [186] => completed
  • EventTrackerMessageEvent [2386] => completed
  • GetGameListingMessageEvent [2993] => completed
Base Improvements (Comparing against other emus)
  • Consistent with code structure, design pattern and naming conventions.
  • Using the recommended naming conventions by Microsoft. (@Resharper)
  • Removed the use of redundant if statements and other parts of code.
  • No longer uses un-needed using's.
  • Left out documentation and comments (cleaner => personal preference).
  • Extended stability with using different ways of processing things inside threads.
  • Overall cleaner code, also went against using no-bracket if statements.
  • Removed nesting where it could be removed.
I'm hoping the progression will be good and the motivation will stay with me, but in the end nobody can predict the future.

GitHub:
 
Last edited:

Seriosk

Programmer;
Oct 29, 2016
256
105
Good luck with this bro, and thanks for the credits. ;)
Thanks bro, you deserve them.

Mono support = Full support from me
I'll see what I can do, haven't really thought about this but now you mention it..

EDIT:
GitHub repository has been updated, view the latest changes
Want to try and clean up Encryption library next.
 
Last edited:

Seriosk

Programmer;
Oct 29, 2016
256
105
Good luck.
Thanks.

Updates:
  • Fixed up some of the code
  • Coded an updater (checks for new versions)
  • GetPromoArticlesMessageEvent [3895] => completed
  • RefreshCampaignMessageEvent [3544] => completed
  • InfoRetrieveMessageEvent [186] => completed
  • EventTrackerMessageEvent [2386] => completed
  • GamesManager and Game library => completed
  • GetGameListingMessageEvent [2993] => completed
  • @Altercationz is now contributing
 
Last edited:

GageDodd

Member
Sep 30, 2014
225
57
This is looking great! i hope this continues to get developed into a awesome emulator!
 

K4TRIN4

Posting Freak
Jul 24, 2012
777
39
Good luck sounds amazing so far hope the motivation continues to flow in you to get it completed
 

NeedForSpreed

Member
May 18, 2014
326
71
I really love this idea of rp, + that the clone will be clean and simple. Try to document much as possible! Eventually one day this will be better than current plus! Good luck!
 

Seriosk

Programmer;
Oct 29, 2016
256
105
This is looking great! i hope this continues to get developed into a awesome emulator!
Thanks, I'm pretty motivated so far...

Good luck sounds amazing so far hope the motivation continues to flow in you to get it completed
I hope I do, motivation is still with me at the moment.

I really love this idea of rp, + that the clone will be clean and simple. Try to document much as possible! Eventually one day this will be better than current plus! Good luck!
RP will come after its initial release (added functionality), documentation isn't really needed right now (unless your a noob who doesn't understand basic functions and methods)..

Updates:
- Completed navigator library
- Fixed broken namespaces
- Completed a few more packets (4 or 5)..

I'm thinking of adding MongoDB functionality (for myself) but not sure who else would use it as their are no CMS's with MongoDB...
 
Last edited:

TheNotorious

Im dying slowly.
Oct 4, 2014
228
41
Rename? He's writing an emulator not editing namespaces lad. Get your facts right. Dont do false statements. If you're going to cive feedback then please do, don't hate on the thread.

Skickat från min FRD-L09 via Tapatalk
Its fucking question, get your facts boy.
 

Seriosk

Programmer;
Oct 29, 2016
256
105
So, this is a rename of PlusEMU? But Goodluck with project! :rolleyes:
I appreciate the support, its not a rename no, all the code is written from scratch, all I said was it will have the same features as Plus hinting at this emulator will maybe replace Plus for some of the hotels out there as it will be fully functional and without bugs (hopefully)

Updates:
- Starting to work on handling room entrys and navigation findings, hopefully my pixel character will be able to enter a room by tonight although I am pretty busy studying.

Will post a better update log later, in college at the moment.
 
Last edited:

Core

Member
Nov 10, 2016
356
138
I appreciate the support, its not a rename no, all the code is written from scratch, all I said was it will have the same features as Plus hinting at this emulator will maybe replace Plus for some of the hotels out there as it will be fully functional and without bugs (hopefully)

Updates:
- Starting to work on handling room entrys and navigation findings, hopefully my pixel character will be able to enter a room by tonight although I am pretty busy studying.

Will post a better update log later, in college at the moment.

Have you shut down the development for this already or has Sulake flagged your git repository :')
 

Seriosk

Programmer;
Oct 29, 2016
256
105
Have you shut down the development for this already or has Sulake flagged your git repository :')
Flagged repo I think, haven't checked git in a while as I am now developing via a cloud software syncing automatically between developers as its easier for one of my developers, the new system still uses git but we choose when we want to commit..

Will check the git repo soon though, thanks for letting me know about that :p, definitely not lost motivation.

Updates [12/11/2016 at 12:18]
Haven't really had much time to work on this due to studying but that hasn't stopped me progressing that little bit each day...

- Cached data that should be cached...
- Improved the speed of startup (600ms on my PC)
- Added error catching for most things
- Fixed up the disposing of all the classes.
- Improved the MySQL connection string.
- Stopped duplicated calls to methods

Packets done:
- InitializeNewNavigatorMessageEvent
- GetCurrencyInfoMessageEvent
- GetUserInfoMessageEvent
- LatencyTestMessageEvent
- GetCatalogRoomPromotionMessageEvent

Hitting it hard this weekend, hope to get you some in-room screenshots c;

Not sure if its just me but packets are processing pretty slowly..

[12:18:06] Handled Packet: 4000
[12:18:06] Handled Packet: 316
[12:18:06] Handled Packet: 3847
[12:18:07] Handled Packet: 1600
[12:18:07] Handled Packet: 1471
[12:18:07] Handled Packet: 1778
[12:18:12] Handled Packet: 538
[12:18:13] Handled Packet: 538
[12:18:13] Handled Packet: 3895
[12:18:13] Handled Packet: 3544
[12:18:13] Handled Packet: 3544
[12:18:13] Handled Packet: 3544
[12:18:13] Handled Packet: 186
[12:18:14] Handled Packet: 2386
[12:18:14] Handled Packet: 2993
[12:18:14] Handled Packet: 751
[12:18:14] Unhandled Packet: 2349
[12:18:14] Handled Packet: 2151
[12:18:14] Handled Packet: 882
[12:18:14] Handled Packet: 3697
[12:18:14] Handled Packet: 12
[12:18:14] Unhandled Packet: 2506
[12:18:14] Unhandled Packet: 3906
[12:18:14] Unhandled Packet: 1812
[12:18:15] Unhandled Packet: 3446
[12:18:18] Unhandled Packet: 2577

ALRIGHT, LISTEN UP...
Updates [13/11/2016 at 03:06], yes its late.. idc...

Done a few more packets...

Messenger now loads friends (even if online)
9b8563d11c1346d4b397517b4f4db593.png

 
Furthered development quite a bit today actually..

Completed:
- GameItem Library [AKA Items]
- Shop Library [AKA Catalog]
- PathFinding Library
- Just finishing up GameMap

Completed more packets:
3258, 1604, 1928, 1294, 2511, 3591, 2722, 3912, 2560, 3912, 2722
 

sikkid

New Member
Nov 18, 2016
3
0
Flagged repo I think, haven't checked git in a while as I am now developing via a cloud software syncing automatically between developers as its easier for one of my developers, the new system still uses git but we choose when we want to commit..

Will check the git repo soon though, thanks for letting me know about that :p, definitely not lost motivation.

Updates [12/11/2016 at 12:18]
Haven't really had much time to work on this due to studying but that hasn't stopped me progressing that little bit each day...

- Cached data that should be cached...
- Improved the speed of startup (600ms on my PC)
- Added error catching for most things
- Fixed up the disposing of all the classes.
- Improved the MySQL connection string.
- Stopped duplicated calls to methods

Packets done:
- InitializeNewNavigatorMessageEvent
- GetCurrencyInfoMessageEvent
- GetUserInfoMessageEvent
- LatencyTestMessageEvent
- GetCatalogRoomPromotionMessageEvent

Hitting it hard this weekend, hope to get you some in-room screenshots c;

Not sure if its just me but packets are processing pretty slowly..

[12:18:06] Handled Packet: 4000
[12:18:06] Handled Packet: 316
[12:18:06] Handled Packet: 3847
[12:18:07] Handled Packet: 1600
[12:18:07] Handled Packet: 1471
[12:18:07] Handled Packet: 1778
[12:18:12] Handled Packet: 538
[12:18:13] Handled Packet: 538
[12:18:13] Handled Packet: 3895
[12:18:13] Handled Packet: 3544
[12:18:13] Handled Packet: 3544
[12:18:13] Handled Packet: 3544
[12:18:13] Handled Packet: 186
[12:18:14] Handled Packet: 2386
[12:18:14] Handled Packet: 2993
[12:18:14] Handled Packet: 751
[12:18:14] Unhandled Packet: 2349
[12:18:14] Handled Packet: 2151
[12:18:14] Handled Packet: 882
[12:18:14] Handled Packet: 3697
[12:18:14] Handled Packet: 12
[12:18:14] Unhandled Packet: 2506
[12:18:14] Unhandled Packet: 3906
[12:18:14] Unhandled Packet: 1812
[12:18:15] Unhandled Packet: 3446
[12:18:18] Unhandled Packet: 2577

ALRIGHT, LISTEN UP...
Updates [13/11/2016 at 03:06], yes its late.. idc...

Done a few more packets...

Messenger now loads friends (even if online)
9b8563d11c1346d4b397517b4f4db593.png

 
Furthered development quite a bit today actually..

Completed:
- GameItem Library [AKA Items]
- Shop Library [AKA Catalog]
- PathFinding Library
- Just finishing up GameMap

Completed more packets:
3258, 1604, 1928, 1294, 2511, 3591, 2722, 3912, 2560, 3912, 2722
Good job dude.
 

Seriosk

Programmer;
Oct 29, 2016
256
105
Just been working on the packets recently, slowly but we're getting there..

Also if anyone has a cracked version of AS3 Sorcerer I would appreciate it if they could drop me a dl link for it, need to fix them unhandled structures.
 

NeedForSpreed

Member
May 18, 2014
326
71
Just been working on the packets recently, slowly but we're getting there..

Also if anyone has a cracked version of AS3 Sorcerer I would appreciate it if they could drop me a dl link for it, need to fix them unhandled structures.
You got any release date in mind? And it's looking really well right now, carry on!


Skickat från min FRD-L09 via Tapatalk
 
Status
Not open for further replies.

Users who are viewing this thread

Top