Revolution Server (Java, PRODUCTION)

Page 1 of 7 1234567 LastLast
Results 1 to 15 of 97
  1. #1
    Proficient Member jaden83 is offline
    MemberRank
    Oct 2014 Join Date
    DESKTOP-2FLLV85Location
    176Posts

    talk Revolution Server (Java, PRODUCTION)


    Revolution Server

    Revolution is a simple, elegant Java Emulator compiled using the Gradle dependency manager. Currently targeting the PRODUCTION client version although I might end up making it compatible to, and focusing on future builds on the server emulating the v63 Habbo client. You will see old encoding classes in the Git repo, that's me brainstorming n' beta testing.

    This is my 3rd Habbo Emulator in Java. I appreciate all feedback given, because I have encountered several bugs while developing this emulator, it's more of a trial and error type development process because I am not a Java expert, and don't claim to be. I hope this thread will remain an active discussion. I'd like to make the development public and if you're fond of the current source code, then don't hesitate to join the development by committing your changes to the public Git!

    I have taken a look at current Java Emulators such as Comet, and Arctucus, both have strong ideas flowing regarding threading and socket implementations. I hope to manifest these ideas to my advantage and improve if not recreate them.

    I've also taken a look at non-Java Emulators. For example; taken a look at the source of Plus Emulator and I've successfully ported it's Habbo Encryption classes to Java. My reasons for this is because the current released RSA/RC4 Habbo Crypto classes seem like they have been poorly ported from past C# emulators, taking a look at the naming conventions and the bracket placement.

    FRAMEWORKS THAT ARE CURRENTLY IN USE:


    • Netty 4 for high performanced socket servers (TCP, and RCON)
    • RealNiggaShit notepad++ multiplexer
    • Hibernate object relational mapping and persistency
    • jOOQ CRUD, persistency, and execution listeners
    • Reflections for packet caching on startup (spare me the controversy, it's just for initialization)
    • Trove high performance collections
    • Log4j2 thread-safe, organized, lazy logging
    • HikariCP connection pooling
    • Guice dependency injection, done right this time! (probably)
    • MySQL default database driver


    I have got to the hotelview, but I haven't actually ran the client due to lack of a CDN, and because me only have a localhost and it's been acting funny recently, when I've tried it on localhost and not a private server #fuckhabbo.

    P.S.
    Do talk shit about how I won't finish my project, I probably won't.

    GitHub:
    https://github.com/HeyItsKawaii/Revolution

    couldn't figure out how 2 add a spoiler, had some cool, infraction worthy images to post here :C


  2. #2
    git bisect -m ovflowd is offline
    MemberRank
    Sep 2011 Join Date
    2,191Posts

    Re: Revolution Server (Java, PRODUCTION)

    Revolution Server (is a name) created by @Zak
    (So RevEMU and RevCMS) are because of him.

    More respect please. Change your Emulator name.

    #ontopic.

    Good luck, wondering if you don't abandon this development. Words are words.

  3. #3
    Alpha Member Emily is offline
    MemberRank
    Oct 2012 Join Date
    The NetherlandsLocation
    2,408Posts

    Re: Revolution Server (Java, PRODUCTION)

    Looking promising, good luck!

    One thing:

    PHP Code:
     public static Date fechaHoraSistema() {
            return new 
    Date(System.currentTimeMillis());
        } 
    Cool name... (maybe it would be more professional to make it an English name since everything's in English... just how I see it!)

  4. #4
    Live Ocottish Sverlord Joopie is offline
    LegendRank
    Jun 2010 Join Date
    The NetherlandsLocation
    2,767Posts

    Re: Revolution Server (Java, PRODUCTION)

    Quote Originally Posted by ovflowd View Post
    Revolution Server (is a name) created by @Zak
    (So RevEMU and RevCMS) are because of him.

    More respect please. Change your Emulator name.

    #ontopic.

    Good luck, wondering if you don't abandon this development. Words are words.
    Actually, @Kryptos came with RevCMS and after that @Zak joined with a RevEMU.

  5. #5
    git bisect -m ovflowd is offline
    MemberRank
    Sep 2011 Join Date
    2,191Posts

    Re: Revolution Server (Java, PRODUCTION)

    Quote Originally Posted by Joopie View Post
    Actually, @Kryptos came with RevCMS and after that @Zak joined with a RevEMU.
    Exactly. Master Jupi (Joopie)

  6. #6
    Check http://arcturus.pw The General is offline
    DeveloperRank
    Aug 2011 Join Date
    7,607Posts

    Re: Revolution Server (Java, PRODUCTION)

    I give you a tip, something I wish I had properly implemented in Arcturus:

    - Throw exceptions when pre conditions of a function can't be met.
    - Throw exceptions when post conditions of a function can't be met.

    This makes your application way easier to test (Especially with unit tests), bugs are way more earlier visible as they will just give a stacktrace and it is possible to implement more dynamic behaviour for example regarding error messages in the client (Habbo has a shit ton of them).

    Also do proper unit testing, try getting a coverage of atleast 75%.

    If I ever am going to write a server again (Which I won't), I would do the things above ^

    Quote Originally Posted by Glaceon View Post
    Looking promising, good luck!

    One thing:

    PHP Code:
     public static Date fechaHoraSistema() {
            return new 
    Date(System.currentTimeMillis());
        } 
    Cool name... (maybe it would be more professional to make it an English name since everything's in English... just how I see it!)
    Its because its from some other emulator, can't recall the name but it was basically only able to support one session (LOL).
    Last edited by The General; 16-06-16 at 09:22 PM.

  7. #7
    "(still lacks brains)" NoBrain is offline
    MemberRank
    Sep 2011 Join Date
    United KingdomLocation
    2,658Posts

    Re: Revolution Server (Java, PRODUCTION)


  8. #8
    Proficient Member jaden83 is offline
    MemberRank
    Oct 2014 Join Date
    DESKTOP-2FLLV85Location
    176Posts

    Re: Revolution Server (Java, PRODUCTION)

    Quote Originally Posted by ovflowd View Post
    Revolution Server (is a name) created by @Zak
    (So RevEMU and RevCMS) are because of him.

    More respect please. Change your Emulator name.

    #ontopic.

    Good luck, wondering if you don't abandon this development. Words are words.
    RevEMU was never finished and I didn't realize it stood for Revolution until after I made the GitHub and everything... awks. Anyways one of the developers (@Caustik) wasn't fussed about it when I told him so I didn't really stress it after that.

    Quote Originally Posted by Glaceon View Post
    Looking promising, good luck!

    One thing:

    PHP Code:
     public static Date fechaHoraSistema() {
            return new 
    Date(System.currentTimeMillis());
        } 
    Cool name... (maybe it would be more professional to make it an English name since everything's in English... just how I see it!)
    I didn't change the name to acknowledge the original coders of that function (as @TheGeneral mentioned below)

    - - - Updated - - -

    Quote Originally Posted by The General View Post
    I give you a tip, something I wish I had properly implemented in Arcturus:

    - Throw exceptions when pre conditions of a function can't be met.
    - Throw exceptions when post conditions of a function can't be met.

    This makes your application way easier to test (Especially with unit tests), bugs are way more earlier visible as they will just give a stacktrace and it is possible to implement more dynamic behaviour for example regarding error messages in the client (Habbo has a shit ton of them).

    Also do proper unit testing, try getting a coverage of atleast 75%.

    If I ever am going to write a server again (Which I won't), I would do the things above ^



    Its because its from some other emulator, can't recall the name but it was basically only able to support one session (LOL).
    Thanks for the tip, I usually do add pre conditions to a function but I haven't got into much depth with refactoring and "perfecting" code yet.

    Quote Originally Posted by pea-brain View Post
    This was abandoned unfortunately, when I came back with new knowledge regarding Java I just wanted to start on a clean slate. The name started to bug me.

    I didn't even know this thread got approved, took ages. I'll post some updates to here then now.

    UPDATES!!! 6/16/2016


    • Implemented a Generic DAO respective to JPA's EntityManager
    • Using Guice Injection Extension JpaPersistModule for injecting into the EntityManager
    • Fixed Habbo Encryption related bugs, still not perfect however
    • Encountered database related errors when trying to run SSO Authentication checks
    • Adil (@Caustik) has joined the team, sike :(
    • Removed jOOQ until further notice, until needed for Execution Listeners further in the development
    • Added a new configuration value "mysql.dialect" current options being "innodb" or "default"
    • Implemented an RCONDecoder for future RCON connections, no commands have been added yet
    • Switched from Java SE to Java EE


    Once this database thing is sorted I plan on removing "DefaultConfig.java" from the utilities folder and just reading from the server_settings table.

    I also plan on learning more about JTA and hopefully implementing it (or the option to use it) into Revolution, even though Adil says it's OD :(

    If anyone can help fix/cleanup these database related bugs, I believe the Git is public.

    I'll start unit testing when I get the hotelview up, that's also when I start code refactor before I write the GameThread Cycler.

  9. #9
    Developer & Designer Francis Joseph is offline
    MemberRank
    Mar 2007 Join Date
    /f282Location
    246Posts

    Re: Revolution Server (Java, PRODUCTION)

    Isn't this just AzureJAVA or whatever it was? lol

    I have got to the hotelview, but I haven't actually ran the client due to lack of a CDN


    That doesn't make any sense? I'd respect you more if you just said that you haven't got that far due to the programming of basic features being in progress. But hey-ho, not my project.
    Last edited by Francis Joseph; 17-06-16 at 01:22 PM.

  10. #10
    git bisect -m ovflowd is offline
    MemberRank
    Sep 2011 Join Date
    2,191Posts

    Re: Revolution Server (Java, PRODUCTION)

    Quote Originally Posted by Wotsuba View Post

    UPDATES!!! 6/16/2016


    • Implemented a Generic DAO respective to JPA's EntityManager
    • Using Guice Injection Extension JpaPersistModule for injecting into the EntityManager
    • Fixed Habbo Encryption related bugs, still not perfect however
    • Encountered database related errors when trying to run SSO Authentication checks
    • Adil (@Caustik) has joined the team, sike :(
    • Removed jOOQ until further notice, until needed for Execution Listeners further in the development
    • Added a new configuration value "mysql.dialect" current options being "innodb" or "default"
    • Implemented an RCONDecoder for future RCON connections, no commands have been added yet
    • Switched from Java SE to Java EE


    Once this database thing is sorted I plan on removing "DefaultConfig.java" from the utilities folder and just reading from the server_settings table.

    I also plan on learning more about JTA and hopefully implementing it (or the option to use it) into Revolution, even though Adil says it's OD :(

    If anyone can help fix/cleanup these database related bugs, I believe the Git is public.

    I'll start unit testing when I get the hotelview up, that's also when I start code refactor before I write the GameThread Cycler.
    "Fixed Habbo Encryption related bugs, still not perfect however", so you're saying that the Habbo Encryption that everyone uses is bugged. Yeah.
    "Encountered database related errors when trying to run SSO Authentication checks" wait, how already has database bugs, if you're creating the database from the scratch. ???!! So if your first database structure already has bug's, so omg.
    "Switched from Java SE to Java EE" wow, really big update (irony)
    "Implemented a Generic DAO respective to JPA's EntityManager" that means what? For what this is useful in the change log in terms of habbo?

    "I also plan on learning more about JTA and hopefully" we don't care what you want to learn or not.

    "I'll start unit testing when I get the hotelview up, that's also when I start code refactor before I write the GameThread Cycler" wtf.

  11. #11
    Check http://arcturus.pw The General is offline
    DeveloperRank
    Aug 2011 Join Date
    7,607Posts

    Re: Revolution Server (Java, PRODUCTION)

    Quote Originally Posted by ovflowd View Post
    "Fixed Habbo Encryption related bugs, still not perfect however", so you're saying that the Habbo Encryption that everyone uses is bugged. Yeah.
    "Encountered database related errors when trying to run SSO Authentication checks" wait, how already has database bugs, if you're creating the database from the scratch. ???!! So if your first database structure already has bug's, so omg.
    "Switched from Java SE to Java EE" wow, really big update (irony)
    "Implemented a Generic DAO respective to JPA's EntityManager" that means what? For what this is useful in the change log in terms of habbo?

    "I also plan on learning more about JTA and hopefully" we don't care what you want to learn or not.

    "I'll start unit testing when I get the hotelview up, that's also when I start code refactor before I write the GameThread Cycler" wtf.
    Dude, don't give him a hard time okay? Clearly it seems he is new to Java, as he stated above. This is all to learn more about Java in general. Either be just supportive or don't post really. No need to take his posts down unless you provide some constructive feedback.

    Cheers

  12. #12
    git bisect -m ovflowd is offline
    MemberRank
    Sep 2011 Join Date
    2,191Posts

    Re: Revolution Server (Java, PRODUCTION)

    Quote Originally Posted by The General View Post
    Dude, don't give him a hard time okay? Clearly it seems he is new to Java, as he stated above. This is all to learn more about Java in general. Either be just supportive or don't post really. No need to take his posts down unless you provide some constructive feedback.

    Cheers
    Idk if he is new in Java. But i know a little thing, he has a big ego, is arrogant, and never finish his projects.

    As i said before, i really wish good luck for him.

  13. #13
    Proficient Member jaden83 is offline
    MemberRank
    Oct 2014 Join Date
    DESKTOP-2FLLV85Location
    176Posts

    Re: Revolution Server (Java, PRODUCTION)

    Quote Originally Posted by Francis Joseph View Post
    Isn't this just AzureJAVA or whatever it was? lol



    That doesn't make any sense? I'd respect you more if you just said that you haven't got that far due to the programming of basic features being in progress. But hey-ho, not my project.[/COLOR]
    If you looked at the GitHub repo, you would see all the packet's are in order that are required to at least get the hotelview loaded. I was just accomidating for the lack of screenshots.

    + This is not Azure Java, I got the reflections idea from that though but that's all I recall using.

    Repo:

    https://github.com/HeyItsKawaii/Revo...ming/handshake

    Quote Originally Posted by ovflowd View Post
    "Fixed Habbo Encryption related bugs, still not perfect however", so you're saying that the Habbo Encryption that everyone uses is bugged. Yeah.
    "Encountered database related errors when trying to run SSO Authentication checks" wait, how already has database bugs, if you're creating the database from the scratch. ???!! So if your first database structure already has bug's, so omg.
    "Switched from Java SE to Java EE" wow, really big update (irony)
    "Implemented a Generic DAO respective to JPA's EntityManager" that means what? For what this is useful in the change log in terms of habbo?

    "I also plan on learning more about JTA and hopefully" we don't care what you want to learn or not.

    "I'll start unit testing when I get the hotelview up, that's also when I start code refactor before I write the GameThread Cycler" wtf.
    "Habbo Encryption that everyone uses is bugged" -> Did you view my source code? I spent hours porting that Habbo Encryption from Sledmore's Plus Emulator release, meaning it contained my own code.

    ARC4.java is the only thing that resembles other Java Emulator's becaue I really couldn't refactor that much, it was already so simple.

    "how aleady has database bugs, if you're creating the database from scratch" -> This doesn't make sense, I was referring to an emulator related bug, Hibernate wasn't configured properly or something to that extent, I don't remember now.

    "wow, really bug update (irony)" -> Are you here just to hate? If so, then you can leave. The update log doesn't have to be anything significant as long as it's related to the current changes to the emulator

    "we don't care what you want to learn or not" -> Again, then why are you here? I honestly didn't ask for your input, nor did I see anyone ask you to speak for them so "we" is simply you*

    - - - Updated - - -

    Quote Originally Posted by ovflowd View Post
    Idk if he is new in Java. But i know a little thing, he has a big ego, is arrogant, and never finish his projects.

    As i said before, i really wish good luck for him.
    Consider the fact that you don't even know me, I've never had a private conversation with you ever. I'm sick and tired of people like you who like to pass around rumors and influence other people to feel a certain type of way about someone they've never even met before.

    Are you claudi0 sant0ro? Because all I remember you saying to me is that my code was "very concurrent, and thread-safe" regarding Azure Emulator C#.

    I don't believe you wish anything but to cause trouble, again, I don't know who influenced your latest opinion regarding me but I've already established in post 1 that there's not really a certainity, whatever happens, happens. This is for me to improve myself and whoever's following the development.

    Cheers.
    Last edited by jaden83; 17-06-16 at 03:39 PM. Reason: being friendly :)

  14. #14
    Live Ocottish Sverlord Joopie is offline
    LegendRank
    Jun 2010 Join Date
    The NetherlandsLocation
    2,767Posts

    Re: Revolution Server (Java, PRODUCTION)

    Quote Originally Posted by ovflowd View Post
    "Fixed Habbo Encryption related bugs, still not perfect however", so you're saying that the Habbo Encryption that everyone uses is bugged. Yeah.
    Actually, there are moments when it crashes, just saying.
    Last edited by Shoelace; 20-06-16 at 08:36 PM.

  15. #15
    Developer & Designer Francis Joseph is offline
    MemberRank
    Mar 2007 Join Date
    /f282Location
    246Posts

    Re: Revolution Server (Java, PRODUCTION)

    Quote Originally Posted by Wotsuba View Post
    If you looked at the GitHub repo, you would see all the packet's are in order that are required to at least get the hotelview loaded. I was just accomidating for the lack of screenshots.

    + This is not Azure Java, I got the reflections idea from that though but that's all I recall using.

    Repo:

    https://github.com/HeyItsKawaii/Revo...ming/handshake


    "Habbo Encryption that everyone uses is bugged" -> Did you view my source code? I spent hours porting that Habbo Encryption from Sledmore's Plus Emulator release, meaning it contained my own code.

    ARC4.java is the only thing that resembles other Java Emulator's becaue I really couldn't refactor that much, it was already so simple.

    "how aleady has database bugs, if you're creating the database from scratch" -> This doesn't make sense, I was referring to an emulator related bug, Hibernate wasn't configured properly or something to that extent, I don't remember now.

    "wow, really bug update (irony)" -> Are you here just to hate? If so, then you can leave. The update log doesn't have to be anything significant as long as it's related to the current changes to the emulator

    "we don't care what you want to learn or not" -> Again, then why are you here? I honestly didn't ask for your input, nor did I see anyone ask you to speak for them so "we" is simply you*

    - - - Updated - - -


    Consider the fact that you don't even know me, I've never had a private conversation with you ever. I'm sick and tired of people like you who like to pass around rumors and influence other people to feel a certain type of way about someone they've never even met before.

    Are you claudi0 sant0ro? Because all I remember you saying to me is that my code was "very concurrent, and thread-safe" regarding Azure Emulator C#.

    I don't believe you wish anything but to cause trouble, again, I don't know who influenced your latest opinion regarding me but I've already established in post 1 that there's not really a certainity, whatever happens, happens. This is for me to improve myself and whoever's following the development.

    Cheers.
    1. Why and how did you spent HOURS converting the encryption within Plus Emulator from C# to Java. That should of taken an hour or less. Not to mention that's a kick in the face for the original developer by attempting to say its now your 'own' code.

    2. If its not broken then don't fix it or attempt to refactor for no reason, just give credit and move on. It's better then claiming you created something because its a port or refactored.

    3. Keep update logs precise and relative to information that a developer would like to know.

    IMO, it doesn't look that bad. Looks fine although it probably won't get released.
    If you're out to better yourself within programming then try do something where you will finish to the end.
    Not being a knob but it will increase your motivation and you'll learn a lot more along the way.



Page 1 of 7 1234567 LastLast

Advertisement