|
You last visited: Today at 16:32
Advertisement
A Cup of Conquer
Discussion on A Cup of Conquer within the CO2 Private Server forum part of the Conquer Online 2 category.
04/08/2013, 22:47
|
#1
|
elite*gold: 12
Join Date: Jul 2011
Posts: 8,283
Received Thanks: 4,191
|
A Cup of Conquer
I got bored during Java class - and since I can't access my project due to internet problems back at my apartment.... this happened.
I have no idea if I'll continue it or not. It'll only be worked on when I'm in that class probably. It uses an Asynchronous socket system that I thought would be appropriate. The goal (if I continue it) is to create a portable server that anyone can work on from anywhere. Cheers.
|
|
|
04/08/2013, 23:00
|
#2
|
elite*gold: 0
Join Date: Sep 2012
Posts: 171
Received Thanks: 68
|
This would be nice time cutting one Fang
|
|
|
04/09/2013, 00:13
|
#3
|
elite*gold: 0
Join Date: Mar 2013
Posts: 210
Received Thanks: 247
|
Cheers, mate.
|
|
|
04/11/2013, 21:21
|
#4
|
elite*gold: 0
Join Date: Jul 2012
Posts: 16
Received Thanks: 0
|
sooooo classic
|
|
|
04/13/2013, 19:05
|
#5
|
elite*gold: 28
Join Date: Jun 2010
Posts: 2,225
Received Thanks: 868
|
Qonquer was java, that worked well from what I saw.
|
|
|
04/13/2013, 19:30
|
#6
|
elite*gold: 0
Join Date: Mar 2013
Posts: 118
Received Thanks: 95
|
It's funny how the Dalvik VM is optimized like HELL on Android, yet C# apps still run faster. Stupid Google.
|
|
|
04/13/2013, 19:49
|
#7
|
elite*gold: 21
Join Date: Jul 2005
Posts: 9,193
Received Thanks: 5,380
|
Quote:
Originally Posted by _DreadNought_
Qonquer was java, that worked well from what I saw.
|
Conquer poses no challenge as far as efficiency is concerned. That's why so few people have bothered using C++ for conquer sources. The theoretical performance boost can hardly be argued for when weighed against the rapid prototyping power of something like C#, Java or other managed languages.
PS: Qonquer had insane amounts of issues. Not that they were all due to being Java but using it as a benchmark is a bit silly.
Look at something like minecraft. Large procedurally generated worlds with some spacial partitioning going on and you really start to care about efficiency. Simple 2d coordinate worlds with a rather small max player base is hardly a 'challenge'.
|
|
|
04/13/2013, 20:13
|
#8
|
elite*gold: 0
Join Date: Mar 2013
Posts: 210
Received Thanks: 247
|
Well, after all this, where the **** does C++ fall into?
Yeap, that's right, c++ is much more professional and work wise, that is why, I'm learning it more and more everyday.
|
|
|
04/13/2013, 21:16
|
#9
|
elite*gold: 0
Join Date: Jan 2008
Posts: 1,443
Received Thanks: 1,175
|
Java is not the best language in term of performance. The JVM eat a lot of memory and CPU for small tasks. A developer already stated that it was really hard to make a powerful game on Android due to Java. The cellphones might have better CPU/memory than the iPhone, Java can't beat Obj-C in term of efficiency. (Well, I really the Obj-C's syntax, but for a managed language which can interact with native C++ without any transitional layer, it's impressive).
I wouldn't use Qonquer as a reference, but well, it clearly worked well. Anyway, most problems with CO2 servers are related to the guys who code them. It's not a language issue. And anyway, CO2 isn't big enough to make a difference between languages as stated pro4never. It's like when Korvacs (I think) made an optimized map system (can't remember using which structure). Well, CO2 is small enough to put all players/monsters on a common dictionary for each map without affecting the performance.
I do use Java for school. I dislike the language (lack of features/efficiency) Each time I launch a Java application, I know it without looking to the binary... In comparison to true Cocoa/Carbon app (or Qt), they're really slow. (e.g. JDownloader, NetBeans) It's my opinion.
|
|
|
04/13/2013, 21:33
|
#10
|
elite*gold: 12
Join Date: Jul 2011
Posts: 8,283
Received Thanks: 4,191
|
The purpose of the project isn't to make an efficient server (although I was thinking about it while I was writing it for fun). Really, the goal of the project is to make a managed server that is easy to work on (for the people who download it), and easy to host ($3 for a Linux host vs. $25+ for a Windows host). Taken, there are ways around that with C# (Mono), but you get where I'm coming from. In no way am I making the assumption that Java is an efficient language to write a server in. It's targeted more at the consumer than anything else. I'm not going to work on this project though - this was just for fun. I will release the socket system though when it's done.
|
|
|
04/13/2013, 22:24
|
#11
|
elite*gold: 0
Join Date: Apr 2013
Posts: 4
Received Thanks: 0
|
Interesting. Did you use NIO2's java.nio.channels.AsynchronousServerSocketChannel or did you roll your own? Also, how are you compensating for the difference in endianness, are you using java.nio.ByteBuffer for that?
|
|
|
04/13/2013, 22:27
|
#12
|
elite*gold: 0
Join Date: Mar 2013
Posts: 210
Received Thanks: 247
|
This thread, wasn't even meant to be about the console his server uses to run, all Fang did was post a picture of a customized JAVA server.
If you ask me, the threads kind of getting off-topic.
|
|
|
04/14/2013, 07:20
|
#13
|
elite*gold: 12
Join Date: Jul 2011
Posts: 8,283
Received Thanks: 4,191
|
Quote:
Originally Posted by Aegolius
Interesting. Did you use NIO2's java.nio.channels.AsynchronousServerSocketChannel or did you roll your own? Also, how are you compensating for the difference in endianness, are you using java.nio.ByteBuffer for that?
|
Yah, I am using the AsynchronousServerSocketChannel class from java.nio.channels. I'm also using the grouping that goes with it for the thread pooling and ByteBuffer for compensating for the difference you mentioned (managed by a passport class, inherited by the client class). It really was just for fun though. Just wanted to show something I thought was interesting. My friend might continue with it but it's a bit advanced for him still. We'll see. I made it because we were working together and got done with our work early (in java class).
|
|
|
04/14/2013, 08:28
|
#14
|
elite*gold: 0
Join Date: Apr 2013
Posts: 4
Received Thanks: 0
|
Quote:
Originally Posted by Fаng
Yah, I am using the AsynchronousServerSocketChannel class from java.nio.channels. I'm also using the grouping that goes with it for the thread pooling and ByteBuffer for compensating for the difference you mentioned (managed by a passport class, inherited by the client class). It really was just for fun though. Just wanted to show something I thought was interesting. My friend might continue with it but it's a bit advanced for him still. We'll see. I made it because we were working together and got done with our work early (in java class).
|
Nice. Exactly how far did you get? Were you able to successfully implement the cipher in Java? Also, what client version are you targeting? It'd be nice to receive updates if either of you choose to continue working on it.
|
|
|
04/14/2013, 09:41
|
#15
|
elite*gold: 12
Join Date: Jul 2011
Posts: 8,283
Received Thanks: 4,191
|
Quote:
Originally Posted by Aegolius
Nice. Exactly how far did you get? Were you able to successfully implement the cipher in Java? Also, what client version are you targeting? It'd be nice to receive updates if either of you choose to continue working on it.
|
Currently, it's targeted at any client. It only connects to the client and tells me where the connection came from. I ran out of time in class during my client passport implementation. I was just planning out my receive methods. The client version I was using in the picture above was 4294. If I continue, I'll be downgrading it to 4274 since it's documented for my friend.
|
|
|
All times are GMT +1. The time now is 16:32.
|
|