Revolution Server (Java, PRODUCTION)

What revision should be released with the IPO?


  • Total voters
    21
Status
Not open for further replies.

Jaden

not so active
Aug 24, 2014
886
263
CRANE.gif

Revolution Server
Revolution is a simple, elegant Java Emulator compiled using the Gradle dependency manager. Developed currently by myself, with help from the emulator(s) I use as reference such as Comet, Arctucus, and Azure, Revolution aspires to be a highly optimized, fully functional, Habbo Server targeting, but not limited to the latest PRODUCTION revision. As I am open to new ideas and always changing and brainstorming as I code you may see classes relating to the older revisions such as v63, which I've been thinking of releasing future builds of this emulator featuring said revision. Let me know what you think, which revision I should focus on and release with the IPO.

As I am not a Java expert and I do not claim to be. I am always open to new developers joining the "team". Quotes on team because there will be no official team. If we have a significant amount of people comitting to the Git then I will host a public Skype (or Wiki) conversation however. I'm not making any promises though, as to the outcome of this development because it might be a flop.

I've been working on Revolution for quite some time now, it's simply the product of all of my Habbo server's that I've done in Java prior to it, and as I consider myself to be very knowledgeable I take it very seriously, if you don't have anything positive to say-- then say it, debating is healthy in a community of degenerates-- I mean developers.

No official software design/architecture for this emulator yet, I've recently found out how to add more modules on IntelliJ so I might end up taking another shot at Microservices, even though I never got to try because the development didn't get far enough in the first place.

Revolutions Frameworks
I've used a variety of gangster frameworks during the development process of this emulator, which currently consists of:
  • NETTY 4 - high performance networking servers, of the TCP protocol
  • NIGGAS - every successful Java Server must have niggas!
  • HIBERNATE - object relational mapping, and persistency
  • HIBERNATE-ENTITY - JPA entities and persistency
  • JOOQ - CRUD, persistency, and execution listeners
  • HIKARICP - high performance connection pooling
  • MYSQL - default database driver
  • LOG4J2 - maintainable high performance logging for lazy developers
  • REFLECTIONS - so far, only using this for packet initialization/caching
  • GUICE - dependency injection, done right this time! (probably)
  • TROVE - high performance, thread-safe collections

Revolution Git Repository
GitHub:


Revolution PLEASE READ
Do talk shit about how I won't finish this development. In all honesty, I probably won't. it's just Habbo. Also don't hesitate to message me for the Skype conversation, if you're fond of my code and would like to help out, I'm down.

If I knew how to do spoilers I'd post some cringey, comedic, infraction-worthy images down here right about now. that's just how I'm feelin. This emulator WILL be free, yet private copies might be sold by noobs like myself.

THE CODE IS AMAZING
 
Last edited:

Jaden

not so active
Aug 24, 2014
886
263
First,
RevCMS

Now,
RevEMU (Part 2)
I don't get it. + I didn't realize Rev even stood for Revolution, doubt anyone CARES THOUGH.

EDIT:
Might post some screenshots of the in-game later, cba setting up a hotel on this server.
 
Last edited:

LeChris

John 15:18
Sep 30, 2013
2,786
1,395
I don't get it. + I didn't realize Rev even stood for Revolution, doubt anyone CARES THOUGH.

EDIT:
Might post some screenshots of the in-game later, cba setting up a hotel on this server.
Look at the release thread,

Zac and Mikkel had a RevolutionEMU (RevEMU) also a few years back when they were new to the scene

All of that aside, good luck - Maybe the GAIA emulator would of been better to stick with than switching it up so much but eh
 

Jaden

not so active
Aug 24, 2014
886
263
Look at the release thread,

Zac and Mikkel had a RevolutionEMU (RevEMU) also a few years back when they were new to the scene

All of that aside, good luck - Maybe the GAIA emulator would of been better to stick with than switching it up so much but eh
They didn't release, + it was... C#
 

LeChris

John 15:18
Sep 30, 2013
2,786
1,395
They didn't release, + it was... C#
They did, the github was put up and could of been used or worked on further, C# or not I'm simply saying it was a bad idea using the Revolution name as it never implies what it truly is

RevCMS just "revolutionized" the community by skipping the bloody hell of Uber and moving to an even worst version
RevEMU was just as bad.

Good luck on this, but I think a name change could be a lot better idea for the project. Can't wait to see screenshots and benchmarks
 

dominic

Active Member
Dec 16, 2011
175
84
Look at the release thread,

Zac and Mikkel had a RevolutionEMU (RevEMU) also a few years back when they were new to the scene

All of that aside, good luck - Maybe the GAIA emulator would of been better to stick with than switching it up so much but eh
I wasn't new to the scene, neither was Zak.
"RevEMU was just as bad."
The emulator wasn't that bad, though Zak's ideas of an emulator was bad. He thought by giving it a lot of half-decent code, essentially the outcome would be equal to perfectionized. When I stepped into developing @Rev, I made some game changes (Changed sockets, started redoing most of his shit) which did a lot to make the emulator much more.. decent.
What I was not able to do, was that I was not allowed to decode packets and test them in Rev and pass them to Zak, I had to fully code each function, without him knowing how I did, or what I did, because Zak didn't know what I was on about at the time.
(Kind of the backstory behind Rev, lol)
Anyways, yeah, I agree, should not use Revolution as a name.
 

Jaden

not so active
Aug 24, 2014
886
263
I wasn't new to the scene, neither was Zak.
"RevEMU was just as bad."
The emulator wasn't that bad, though Zak's ideas of an emulator was bad. He thought by giving it a lot of half-decent code, essentially the outcome would be equal to perfectionized. When I stepped into developing @Rev, I made some game changes (Changed sockets, started redoing most of his shit) which did a lot to make the emulator much more.. decent.
What I was not able to do, was that I was not allowed to decode packets and test them in Rev and pass them to Zak, I had to fully code each function, without him knowing how I did, or what I did, because Zak didn't know what I was on about at the time.
(Kind of the backstory behind Rev, lol)
Anyways, yeah, I agree, should not use Revolution as a name.
I hinted Adil about it before anyone else and I don't think he really cared, why is it such a big deal? I'm very fond of the name and it seems pretty vacant to me.

I'll rethink of a name when I get the chance. If you all have any suggestions, I'll consider them. Otherwise, not changing around the source code for any redundant reason such as the name until I'm certain.
 

LeChris

John 15:18
Sep 30, 2013
2,786
1,395
I hinted Adil about it before anyone else and I don't think he really cared, why is it such a big deal? I'm very fond of the name and it seems pretty vacant to me.

I'll rethink of a name when I get the chance. If you all have any suggestions, I'll consider them. Otherwise, not changing around the source code for any redundant reason such as the name until I'm certain.
#MoonEMU
ADVANCED HABBO EMU

#MoonmanPride
 

Jaden

not so active
Aug 24, 2014
886
263
Planning on recoding the Encryption today, been having problems with it so it must go :c
 
Didn't have to recode the Encryption, fixed the error with time to spare, but encountered a new one. Hibernate error, I was using Session instead of the JPA EntityManager, and have yet to implement 1 using it.
Might add a JtaTransaction option in the configuration.
Also, implemented a new configuration value "mysql.dialect" either "default" or "innodb

Removed JOOQ until further notice (until I need it for execution listening which is further in development)
 
Sorry for the lack of updates, been more activity on a rival forum thread so I've been posting updates there...
There is a Habbo Encryption issue generates wrong DH Keys sometimes producing invalid IDs, maybe.

4e606ba58eab4ff3b0e6adb8f63b929f.png


Updates as usual, I've been meaning to commit the latest build where the hotelview loads but I just started working on the Navigator.

Game Logic is always boring so the update log might get a lil bit slower as time goes on, reading on database architecture as every current Habbo Emulator's database looks like cluttered garbage.

Adil has considered joining the team to help me with game logic, I won't have my PC July 9--Undetermined because I'm going on holiday and my PC wil be in the shop from then until --Undetermined.

Looking for decent Java Developers to consider helping me out with game logic, don't be SHY.
 

Rain

c
Mar 13, 2015
563
251
Planning on recoding the Encryption today, been having problems with it so it must go :c
 
Didn't have to recode the Encryption, fixed the error with time to spare, but encountered a new one. Hibernate error, I was using Session instead of the JPA EntityManager, and have yet to implement 1 using it.
Might add a JtaTransaction option in the configuration.
Also, implemented a new configuration value "mysql.dialect" either "default" or "innodb

Removed JOOQ until further notice (until I need it for execution listening which is further in development)
 
Sorry for the lack of updates, been more activity on a rival forum thread so I've been posting updates there...
There is a Habbo Encryption issue generates wrong DH Keys sometimes producing invalid IDs, maybe.

4e606ba58eab4ff3b0e6adb8f63b929f.png


Updates as usual, I've been meaning to commit the latest build where the hotelview loads but I just started working on the Navigator.

Game Logic is always boring so the update log might get a lil bit slower as time goes on, reading on database architecture as every current Habbo Emulator's database looks like cluttered garbage.

Adil has considered joining the team to help me with game logic, I won't have my PC July 9--Undetermined because I'm going on holiday and my PC wil be in the shop from then until --Undetermined.

Looking for decent Java Developers to consider helping me out with game logic, don't be SHY.
Looks very nice
 

Jaden

not so active
Aug 24, 2014
886
263
Got bored and since I wanted to bring a unique database structure to the emulator as mentioned before. I figured there wouldn't be any CMS to support it, ergo decreasing the usage. So I took a few mins to scratch up Revolt, an Asynchornous, powerful, stable, and definitely secure Habbo Web CMS for Revolution. It uses Redis for Session Storage, I'm aware that Hazelcast is extremely faster than Redis I just chose to use it because of the support for both Node and Java, meaning I might use Redis for Revolution Session Storage in the future.

f459ebc280b949babd5e35e99891d74e.png

e30a185f07424792a24d5cc163448308.png


Since I'm going this far I might go as far as to switch to PostgreSQL or at least implement some type of support for it

Started on Game Cycle, Room Cycle, Room Manager and Pathfinder... I'll update GitHub soon
 
Last edited:

Jaden

not so active
Aug 24, 2014
886
263
"definitely secure"
passwords stored in plaintext
glad you pointed that out with the SQL query, I made it like that because I was booting a previous build before bcrypt was added... now bcrypt is added, if you look a lil to your left

But when I said "secure" I was implicitly referring to the state of the HTTP framework
 
Last edited:

Jaden

not so active
Aug 24, 2014
886
263
Looks good Jaden, but why Java?
Why not Java? :cool:

Decided to go and try an Akka Actor-based messaging system to handle game logistics, GitHub will be updated later that'll be the 10day commit
 
Status
Not open for further replies.

Users who are viewing this thread

Top