Welcome!

Join our community of MMO enthusiasts and game developers! By registering, you'll gain access to discussions on the latest developments in MMO server files and collaborate with like-minded individuals. Join us today and unlock the potential of MMO server development!

Join Today!

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

Status
Not open for further replies.
Newbie Spellweaver
Joined
Jul 13, 2015
Messages
71
Reaction score
31
Oreo Emulator [Kotlin/Netty/Cassandra/Post-Shuffle]

Hello frenz! About months ago I felt want creating a new project, solely for educational purposes. That's why I started this project bleh

What should it be?
Oreo (Google s2) is a cross-platform Habbo emulator, written entirely in Kotlin. I prefered use kotlin than java, because is more concise (POJO in a single line, singleton object) and some enterprise are moving to it, like Pinterest and Evernote.

My first aim is make a really stable and scalable emulator with total code coverage. I don't mind having all features from the original product. The SWF revision will be the PRODUCTION-201707041014-428081343, no particular reason.

And about actors?
By the way I won't use the actor model (discussion about on page two). On my researches I proved that actors is really effective for backend servers, it can handle about 160k requests per second. Some graphs from Microsoft Orleans:
lai0n - Ryzen Emulator [Javascript/ES6/ORM/Post-Shuffle] - RaGEZONE Forums

But it isn't the most practical solution for a retro and there isn't need for it. So I will be using the traditional architecture.

Cassandra
And you didn't read wrong. I've been working with Cassandra in a startup on the last months, and it's been great. Cassandra employs many mechanisms for fault tolerance and the administration is easy, since is a homogenous system.
Then I'm 70% sure that oreo will use cassandra.

I created the thread in order to make contributions possible, then feel free to contribute! and you can expect a regular inactivity because I'm on high school. Nonetheless, I hope that the thread stays open for some time.

Checkout the repository:

Regards,
Guilherme Araújo
 
Last edited:
Developer
Developer
Joined
Dec 11, 2010
Messages
2,955
Reaction score
2,685
Interesting choice of name, as it's the same as AMD's (Advanced Micro Devices) product lineup for their new processors. I'm assuming that's where you got the name from?

Regardless, good luck. A Node server looks interesting, I'll keep my eye on it. :):
 
Newbie Spellweaver
Joined
Nov 2, 2013
Messages
18
Reaction score
7
An emulator on node is interesting indeed, I will be following your great friend project!
 
Newbie Spellweaver
Joined
Jul 13, 2015
Messages
71
Reaction score
31
Is there a reason why you use plain JavaScript?

You should look into TypeScript (with their editor plugin) to make your live more easy.

I haven't think about this before. A good suggestion, maybe i will move to it.

Thanks Joopie



Meeting on TeamViewer, updating the firsts things
m81-717-452
 
Elite Diviner
Joined
Apr 5, 2014
Messages
464
Reaction score
223
You should definitely consider typescript for large scale js applications, it will save you tons of time and will greatly improve workflow with IDE features much like visual studio has (you can even write ts in vs with most of its features).

Typesript compiles back to javascript, so there's really no difference for anyone other than the developer. You can also choose to compile into different versions of javascript.

here's a great to learn more about it
 
Newbie Spellweaver
Joined
Jul 13, 2015
Messages
71
Reaction score
31
Well, I'm hesitating some things. First, what is better: compile typescript onto ES6 or ES5?
Second, use or not. Rollup compiles small pieces of code into a single file more larger and complex

What do you think about this?
 
Last edited:
Joined
Jun 23, 2010
Messages
2,318
Reaction score
2,195
Well, I'm hesitating some things. First, what is better: compile typescript onto ES6 or ES5?
Second, use or not. Rollup compiles small pieces of code into a single file more larger and complex

What do you think about this?

As you're using NodeJS you should compile it to ES6.
And I dont think you need to use Rollup...




Perfect example by one of the better Node developers in the community if you need any ideas on some things

I wouldn't say that example is "perfect".
 
Joined
Sep 10, 2011
Messages
778
Reaction score
138
As you're using NodeJS you should compile it to ES6.
And I dont think you need to use Rollup...





I wouldn't say that example is "perfect".
It's by far better than any of the retarded attempts at a HTML5 one in Node, and he puts quite of bit of research into things he does. By javascript standards and knowledge from back-end js it's a good example to use when looking into it.

(Only thing I would attack him on is not using ES6, which would make the code a lot easier to read and work with)
 
Custom Title Activated
Loyal Member
Joined
May 23, 2011
Messages
1,607
Reaction score
588
It's by far better than any of the retarded attempts at a HTML5 one in Node, and he puts quite of bit of research into things he does. By javascript standards and knowledge from back-end js it's a good example to use when looking into it.

(Only thing I would attack him on is not using ES6, which would make the code a lot easier to read and work with)
You sound angry, can you not understand non ES6 JS? Stop taking the internet so seriously mate
 
Developer
Developer
Joined
Dec 11, 2010
Messages
2,955
Reaction score
2,685
Thread closed.

When you provide at least some form of proof that there is actual development happening (code snippets, screenshots, etc), contact me and I'll have the thread reopened again.
 
Newbie Spellweaver
Joined
Jul 13, 2015
Messages
71
Reaction score
31
Project has been re-opened, with some changes. I'll be developing in Kotlin now
Kotlin is a great fit for developing server-side applications, coroutines, expressiveness bla bla bla

The revision has been upgraded from PRODUCTION version 2016 to 2017

Currently I'm writing the build properties (gradle)
Code:
group 'com.laion'
version '0.1.0'

buildscript {
    ext.kotlin_version = '1.1.2'

    repositories {
        mavenCentral()
    }

    dependencies {
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }
}

apply plugin: 'kotlin'
apply plugin: 'application'

mainClassName = "main"

repositories {
    mavenCentral()
}

dependencies {
    compile "org.jetbrains.kotlin:kotlin-stdlib-jre8:$kotlin_version"
}
 
Last edited:
Newbie Spellweaver
Joined
Jul 13, 2015
Messages
71
Reaction score
31
Change-log:
° Working in a Actor System (Orbit)
° Updated some things on github

Snippets coming soon
 
Newbie Spellweaver
Joined
Jul 13, 2015
Messages
71
Reaction score
31
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, . 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 . 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.
 
Status
Not open for further replies.
Back
Top