Ryzen Emulator [Javascript/ES6/ORM/Post-Shuffle]

Page 2 of 3 FirstFirst 123 LastLast
Results 16 to 30 of 31
  1. #16
    Alpha Member Caustik is offline
    Alpha MaleRank
    May 2011 Join Date
    LondonLocation
    1,908Posts

    Re: Ryzen Emulator [Javascript/ES6/ORM/Post-Shuffle]


    RaGEZONE Recommends

    RaGEZONE Recommends

    Nice to see the use of a language like Kotlin, good luck! (Looking into using Kotlin in an app I'm developing)
    Interested in joining a developer/tech discord? PM me for more information!

  2. #17
    Member lai0n is offline
    MemberRank
    Jul 2015 Join Date
    ~/LibraryLocation
    65Posts

    Re: Ryzen Emulator [Javascript/ES6/ORM/Post-Shuffle]

    Change-log:
    ┬░ Working in a Actor System (Orbit)
    ┬░ Updated some things on github

    Snippets coming soon

  3. #18
    Member lai0n is offline
    MemberRank
    Jul 2015 Join Date
    ~/LibraryLocation
    65Posts

    Re: Ryzen Emulator [Javascript/ES6/ORM/Post-Shuffle]

    Building interactive services that are scalable and reliable is pretty hard. Interactivity imposes strict constraints on availability and latency, as that directly impacts endused experience. To support a large number of concurrent user sessions, high throughput is essential.

    Then I decided to use a virtual actor framework, Orbit. This would avoid me use low-level concurrency constructs (The famous atomics and locks) and not think about memory visibility issues.

    But the netty is multi-threaded under the hood. So, the use netty and orbit don't make sense, or do?

    Researches about virtual actors take long hours and are complicated.
    I hope you understand why I'm not coding now.

  4. #19
    Death from above! The General is offline
    The OmegaRank
    Aug 2011 Join Date
    8,719Posts

    Re: Ryzen Emulator [Javascript/ES6/ORM/Post-Shuffle]

    You're making it yourself overly complicated...
    If you are using Arcturus, contact me
    Skype: wesley.jabbo
    Discord: TheGeneral#4898

  5. #20
    Member lai0n is offline
    MemberRank
    Jul 2015 Join Date
    ~/LibraryLocation
    65Posts

    Re: Ryzen Emulator [Javascript/ES6/ORM/Post-Shuffle]

    Quote Originally Posted by The General View Post
    You're making it yourself overly complicated...
    What would you do? Sir General

  6. #21
    topkek amirite?? Leon is offline
    True MemberRank
    May 2009 Join Date
    917Posts

    Re: Ryzen Emulator [Javascript/ES6/ORM/Post-Shuffle]

    I'd suggest sticking to a more traditional monolithic architecture rather than making it horizontally scalable. It's really not needed.. Unless the aim of your project isn't necessarily to create a full habbo emulator and is more to do with learning new architectures then go ahead and use Orbit, I've messed with it in the past and it really is a cool library.

  7. #22
    Member lai0n is offline
    MemberRank
    Jul 2015 Join Date
    ~/LibraryLocation
    65Posts

    Re: Ryzen Emulator [Javascript/ES6/ORM/Post-Shuffle]

    I thought a (maybe) efficient method: On socket connect (managed by netty handler), an observer is created and written to an actor persistent state. On socket text, the client packet is decoded and is notified a equivalent server packet to the observer. Then the observer send the server packet do client.
    Something like that
    Code:
    observer = object : ChatObserver() {
        override fun receiveMessage(message: ServerMessageDto): Task<Void> {
            // Transform the ServerMessageDto to buffer format
            buffer = message.toBuffer()
    
            ctx.write(buffer)
            ctx.flush()
         }
    }
    Quote Originally Posted by Leon View Post
    I'd suggest sticking to a more traditional monolithic architecture rather than making it horizontally scalable. It's really not needed.. Unless the aim of your project isn't necessarily to create a full habbo emulator and is more to do with learning new architectures then go ahead and use Orbit, I've messed with it in the past and it really is a cool library.
    I don't give a fuck to Habbo. My unique aim is improve my knowledge
    Last edited by lai0n; 2 Weeks Ago at 07:58 PM.

  8. #23
    Ryzen Emulator [Javascript/ES6/ORM/Post-Shuffle]Ryzen Emulator [Javascript/ES6/ORM/Post-Shuffle] pel is online now
    SubscriberRank
    Jan 2012 Join Date
    Munich, GermanyLocation
    310Posts

    Re: Ryzen Emulator [Javascript/ES6/ORM/Post-Shuffle]

    Quote Originally Posted by lai0n View Post
    I thought a (maybe) efficient method: On socket connect (managed by netty handler), an observer is created and written to an actor persistent state. On socket text, the client packet is decoded and is notified a equivalent server packet to the observer. Then the observer send the server packet do client.
    Something like that
    Code:
    observer = object : ChatObserver() {
        override fun receiveMessage(message: ServerMessageDto): Task<Void> {
            // Transform the ServerMessageDto to buffer format
            buffer = message.toBuffer()
    
            ctx.write(buffer)
            ctx.flush()
         }
    }

    I don't give a fuck to Habbo. My unique aim is improve my knowledge
    At least you're completely honest. +1
    Good luck!


    Devcord

    thanks to the person who donated me sub

  9. #24
    Death from above! The General is offline
    The OmegaRank
    Aug 2011 Join Date
    8,719Posts

    Re: Ryzen Emulator [Javascript/ES6/ORM/Post-Shuffle]

    Quote Originally Posted by lai0n View Post
    What would you do? Sir General
    Keep it simple and stupid unless there is a need for it, which there isn't.
    If you are using Arcturus, contact me
    Skype: wesley.jabbo
    Discord: TheGeneral#4898

  10. #25
    C# / Java Programmer scottstamp851 is offline
    True MemberRank
    Jan 2007 Join Date
    EverywhereLocation
    521Posts

    Re: Ryzen Emulator [Javascript/ES6/ORM/Post-Shuffle]

    Quote Originally Posted by lai0n View Post
    I thought a (maybe) efficient method: On socket connect (managed by netty handler), an observer is created and written to an actor persistent state. On socket text, the client packet is decoded and is notified a equivalent server packet to the observer. Then the observer send the server packet do client.
    Might've changed since I was last filled in, but this sounds very similar to Sulake's current architecture. They use effectively stateless TCP frontends that convert the game messages to be handled by observers in the main game server (which itself is multiple components).

    It's a great way to scale, but there are some overhead penalties to doing it like that. Not the most practical solution for a small-scale retro, but it sounds like a fun learning experience. Good luck with the project!
    hayhay.

  11. #26
    Developer Eronisch is offline
    True MemberRank
    Jul 2009 Join Date
    The NetherlandsLocation
    1,329Posts

    Re: Ryzen Emulator [Javascript/ES6/ORM/Post-Shuffle]

    Quote Originally Posted by scottstamp851 View Post
    Might've changed since I was last filled in, but this sounds very similar to Sulake's current architecture. They use effectively stateless TCP frontends that convert the game messages to be handled by observers in the main game server (which itself is multiple components).

    It's a great way to scale, but there are some overhead penalties to doing it like that. Not the most practical solution for a small-scale retro, but it sounds like a fun learning experience. Good luck with the project!
    For people who are interested in the article about the architecture, link: Habbo architecture - a brief history [Article]

    Pretty interesting article to read, it's 14 pages long.
    DeskoList.com
    DeskoList is a premium topsite for free. We provide a rich experience for users and administrators with many features to choose from.

  12. #27
    Death from above! The General is offline
    The OmegaRank
    Aug 2011 Join Date
    8,719Posts

    Re: Ryzen Emulator [Javascript/ES6/ORM/Post-Shuffle]

    Yeah and considering its from 2000, was already pretty remarkable back then.
    If you are using Arcturus, contact me
    Skype: wesley.jabbo
    Discord: TheGeneral#4898

  13. #28
    C# / Java Programmer scottstamp851 is offline
    True MemberRank
    Jan 2007 Join Date
    EverywhereLocation
    521Posts

    Ryzen Emulator [Javascript/ES6/ORM/Post-Shuffle]

    Quote Originally Posted by The General View Post
    Yeah and considering its from 2000, was already pretty remarkable back then.
    Once they decided to run at scale, this model makes a lot of sense. It's not an uncommon design for HA and scalability. Agreed though, it was impressive for what it was.

    ** worth noting, a lot of the technologies for doing this, with the services they were using, were bleeding edge or developed internally. The fact that it didn't explode more often is awesome.


    Sent from my iPhone using Tapatalk
    Last edited by scottstamp851; 1 Week Ago at 11:45 AM.
    hayhay.

  14. #29
    Death from above! The General is offline
    The OmegaRank
    Aug 2011 Join Date
    8,719Posts

    Re: Ryzen Emulator [Javascript/ES6/ORM/Post-Shuffle]

    They basically invented their own wheel.
    If you are using Arcturus, contact me
    Skype: wesley.jabbo
    Discord: TheGeneral#4898

  15. #30
    Member lai0n is offline
    MemberRank
    Jul 2015 Join Date
    ~/LibraryLocation
    65Posts

    Re: Ryzen Emulator [Javascript/ES6/ORM/Post-Shuffle]

    Change-log
    • Continuous integration
    • Simple packet decoder
    • Set upped slf4j-log4j
    • Fixed Unrecognized Windows Sockets error (#264)




Page 2 of 3 FirstFirst 123 LastLast

Advertisement