What about having a Conquer server running on Linux or Mac?

03/29/2019 15:35 hyperco#1
Video:

As the right above video shows, I'm currently working on a project to have a server running over MacOS and Linux platforms. Did anyone do something like that?

Btw, the server is being developed with NodeJS. All cryptography and stuffs were rewritten to javascript (using typescript and compiled), the same for sockets.

Maybe we can make it an open source project for the community? What do you think?
03/29/2019 16:10 Spirited#2
Quote:
Originally Posted by hyperco View Post
Video: [Only registered and activated users can see links. Click Here To Register...]

As the right above video shows, I'm currently working on a project to have a server running over MacOS and Linux platforms. Did anyone do something like that?

Btw, the server is being developed with NodeJS. All cryptography and stuffs were rewritten to javascript (using typescript and compiled), the same for sockets.

Maybe we can make it an open source project for the community? What do you think?
Please don't develop a server in Node.js. in terms of open source for cross platform, I already made a server called [Only registered and activated users can see links. Click Here To Register...]. I wrote it in C# .NET Core. I had a server before that written in Go, and I've seen servers before that Go server written in C++ QT and Java. There are many options for writing a server for Linux and Mac.
03/29/2019 18:01 hyperco#3
Quote:
Originally Posted by Spirited View Post
Please don't develop a server in Node.js. in terms of open source for cross platform, I already made a server called [Only registered and activated users can see links. Click Here To Register...]. I wrote it in C# .NET Core. I had a server before that written in Go, and I've seen servers before that Go server written in C++ QT and Java. There are many options for writing a server for Linux and Mac.
But what is the point for not using Node? It seems to be very flexible, and in terms of performance, is it that bad?
03/29/2019 20:53 Spirited#4
Quote:
Originally Posted by hyperco View Post
But what is the point for not using Node? It seems to be very flexible, and in terms of performance, is it that bad?
JavaScript is not a good server language, no. Node.js is known for bad performance but good concurrency modelling for web request processing. If you want a high performance server for Conquer Online, I wouldn't go with Node.js.
03/29/2019 21:12 KraHen#5
Node.js is not bad per say, it's just that it's not great for this specific purpose - real time game servers that is. At the same time, CO has a low concurrent player count so it might just work. Is it optimal? No.
03/30/2019 01:32 hyperco#6
Of course it’s not the best option, but I think it would worth the effort, if not to have a server running, for me, it will be a great learning journey, as I’m trying to not inspire me so much on other bases.

I’m giving it a shot. Maybe I can post a benchmark of a comparison of the Node.js and a .Net one. I bet if I code it right it will get better performance than a “Messi” one with 200 players playing haha!

If someone is interested in, I can edit this post and give some information about the development process and progress...
03/30/2019 02:07 Spirited#7
Quote:
Originally Posted by hyperco View Post
Of course it’s not the best option, but I think it would worth the effort, if not to have a server running, for me, it will be a great learning journey, as I’m trying to not inspire me so much on other bases.

I’m giving it a shot. Maybe I can post a benchmark of a comparison of the Node.js and a .Net one. I bet if I code it right it will get better performance than a “Messi” one with 200 players playing haha!

If someone is interested in, I can edit this post and give some information about the development process and progress...
I honestly don't think you could out perform even Messi with Node.js. It's optimized for load balancing and request volume, not low latency or computation heavy requests. Node.js is made for API access to a data source for a frontend JavaScript client. The whole idea is a full stack of JavaScript from the database (NoSQL / JSON) to the client. Using Node.js for a Conquer Online server would be inappropriate and a misuse of the language, not a valuable learning experience. I know I'm wasting my breath because you'll probably just do it anyways, but Node.js is not designed for this. I would instead recommend C# .NET Core, Java, Go, Kotlin, Rust, etc. There's plenty of really good languages that you could learn instead. Maybe use Node.js for a website for your server, instead. That would be very appropriate use of Node.js.
03/30/2019 09:35 KraHen#8
To be fair conquer doesn't need super low latency large bandwith traffic, like an FPS would for instance. I think it's fair to assume that node.js would do the job if done properly, to be honest, and I do think it would outperform "Messi". However, is that really the bar? You can easily outperform it by factors of 10s or 100s if using the proper technology. You could still use Javascript for scripting.

At the end of the day of course if you want to do it in Node, do it! You will be the first one to do so in the community (publicly at least). At the very worst, we'll see if it's a bad idea and exactly why.
03/31/2019 08:27 hyperco#9
Quote:
Originally Posted by KraHen View Post
However, is that really the bar? You can easily outperform it by factors of 10s or 100s if using the proper technology. You could still use Javascript for scripting.
I will take a look on these technologies. As the project stills on the very beginning, it couldn’t be that bad to migrate...


Quote:
Originally Posted by KraHen View Post
At the end of the day of course if you want to do it in Node, do it! You will be the first one to do so in the community (publicly at least). At the very worst, we'll see if it's a bad idea and exactly why.
But I think this was the motivation I was expecting on this community, as the first one with Node, not ignoring Spirited’s opinion, but if this is really a bad idea, KraHen is right, we need to have it in practice to take the conclusive comparisons and know exactly why.
03/31/2019 09:38 Spirited#10
Quote:
Originally Posted by hyperco View Post
I will take a look on these technologies. As the project stills on the very beginning, it couldn’t be that bad to migrate...




But I think this was the motivation I was expecting on this community, as the first one with Node, not ignoring Spirited’s opinion, but if this is really a bad idea, KraHen is right, we need to have it in practice to take the conclusive comparisons and know exactly why.
You're not the first person to use Node.js in the community, nor the first person to try making an MMORPG game server using Node.js. Here is the very first google result on "mmorpg server in node.js": [Only registered and activated users can see links. Click Here To Register...]. This person knows what he's talking about. I can't emphasize enough how awful of an idea this is. As someone who studied languages for a year at uni, this is painful. You don't need to make a comparison and this community doesn't need another burned out developer. Go put your time and effort into a server you'd want to support using a language you're already comfortable in and is known to work. Please. This is a really dumb idea. I don't mean to discourage you, but please try another language.

And yeah, Node.js is not good on performance. It's not optimized for this kind of thing.
[Only registered and activated users can see links. Click Here To Register...]
[Only registered and activated users can see links. Click Here To Register...]
[Only registered and activated users can see links. Click Here To Register...]
04/01/2019 17:45 hyperco#11
Quote:
Originally Posted by Spirited View Post
You're not the first person to use Node.js in the community, nor the first person to try making an MMORPG game server using Node.js. Here is the very first google result on "mmorpg server in node.js": [Only registered and activated users can see links. Click Here To Register...]. This person knows what he's talking about. I can't emphasize enough how awful of an idea this is. As someone who studied languages for a year at uni, this is painful. You don't need to make a comparison and this community doesn't need another burned out developer. Go put your time and effort into a server you'd want to support using a language you're already comfortable in and is known to work. Please. This is a really dumb idea. I don't mean to discourage you, but please try another language.

And yeah, Node.js is not good on performance. It's not optimized for this kind of thing.
[Only registered and activated users can see links. Click Here To Register...]
[Only registered and activated users can see links. Click Here To Register...]
[Only registered and activated users can see links. Click Here To Register...]

I'm sorry, but I was very discouraged...

I didn't mean to be the first to make an MMORPG server, just a CO one. I did read the post and it give me some ideas of how to deal some problems I might have with Node.js. I know you have your own experience to say what you are saying. I do not expect to have the best server performance, neither the fastest one, but I do expect to have it working well, serving in a satisfactorying time, and providing at least a good game experience... As KraHen pointed, for CO (and I did played CO for a long time...), it doesn't need to be a super server to handle all requests and respond just in time.

And no, I'm not crazy. Node.js will never compete to the usual languages for this purpose. The comparison I was talking about was only to shit public servers out there...

If no one is interested on it, then will not hear about this work for a time... Thank you for your attention anyway.
04/01/2019 22:05 Spirited#12
Quote:
Originally Posted by hyperco View Post
I'm sorry, but I was very discouraged...

I didn't mean to be the first to make an MMORPG server, just a CO one. I did read the post and it give me some ideas of how to deal some problems I might have with Node.js. I know you have your own experience to say what you are saying. I do not expect to have the best server performance, neither the fastest one, but I do expect to have it working well, serving in a satisfactorying time, and providing at least a good game experience... As KraHen pointed, for CO (and I did played CO for a long time...), it doesn't need to be a super server to handle all requests and respond just in time.

And no, I'm not crazy. Node.js will never compete to the usual languages for this purpose. The comparison I was talking about was only to shit public servers out there...

If no one is interested on it, then will not hear about this work for a time... Thank you for your attention anyway.
Well, my goal was to discourage you from using Node.js for this purpose, but if that's what you want to do, don't let people like me tell you otherwise. As long as you take my points into consideration, that's all I can really ask for. Good luck.
04/02/2019 02:25 hyperco#13
Quote:
Originally Posted by Spirited View Post
Well, my goal was to discourage you from using Node.js for this purpose, but if that's what you want to do, don't let people like me tell you otherwise. As long as you take my points into consideration, that's all I can really ask for. Good luck.
I'll take your points for sure, I'm a fan of your work. Thank you for your time.
04/02/2019 10:29 KraHen#14
Also, if your point is being cross platform, we have some sources that already are. I know for a fact that COPSv7 (7? The C++ one, 6 or 7) runs on OSX via Qt - so probably Linux as well.
04/02/2019 12:15 Super Aids#15
I've done it in D like 4 or more years ago.