Jump to content

Recommended Posts

Posted (edited)

@ Drake2Wow:

 

It's dead because not every unskilled scrub can maintain one - if that was the case you'd see tons of activity. Same for L2J - but there aint activity in either camp. Knowledge is dead in both sides.

C++ is irrelevant in l2off as a whole and your typical whiny "i'm a real programmer too excuse" you put out on MXC in general - gets tiring man, please save it for the younger kids :)

 

If it's easy - write me autopickup for C4 exe based on not last hitter, but on most damage done to the monster (This is a challenge, awaiting you to do it - hell ill pay you).

You can't - because you can't just know what to write without research into the direct assembly\.exe and it's compiled machine code.

L2Off is not "knowing c++ - i've written 1000s of lines, nub" - it's knowing what c++ code to write, thats the hard part.

Knowing the language and it's memory management\pointer quirks contra managed language ala .NET\java comes second.

 

Hell, some russkies in PP time used to write ext's in Delphi (Why do russkies love delphi?).

 

There's zero difference from buying L2Reunion\L2DC\L2Scripts - and asking them to do all the work for mods - and then asking AdvExt to do the same.

Both are unskilled scrubs - but its easier for most to get the source for the l2j projects and do some core mods than it is the other way around.

 

This doens't change that L2J is heading the same way as l2off - private projects\private knowledge.

I've yet to see much change in IO\Network management code when i compare L2Chef's original design ideas to newer l2j or other projects ive looked at to try learn a thing or two.

 

Those that know how to change the real performance issues - won't share it publicly cause it's worth something.

Same with L2Off - why should people share knowledge they've spend years researching\learning the binaries for free?

 

..and drake when you start whining about languages being super shitty for X reason - it proves your probably unable to master that programming language ;)

There's a reason 99% of all performance related gaming-code in the real world is C++ - and a reason it's not managed languages...and also a reason why it's not direct assembly\machine code.

 

One of the languages offer the right match of performance & difficulty in implementation of everything.

 

@Intrepid:

 

I'm going to ignore half your post - because you brain fails to realize i'm not looking down on a platform or programming language or similar.

I'm explaining where things are headed, l2off or l2j - due to thirst for knowledge and learning being at lowly low point.

(Which is why you posted in the first place, l2j devs are going where l2off devs have gone).

 

Tell me where has the current heirachy model brought l2j? - in terms of retailness or correctness or performance for that matter.

Where's all the new chronicles that l2j was always first at sniffing packets for in the old days?

Upgrading after 1 month of retail getting a new patch - to new client protocol and adding some content here\there.

 

The fact everything stopped at h5 sorts of indicates there was a BUTTLOAD of content work missing, a buttload of core logic needing changes and new systems to be written - doesn't it?

My observations point more or less to fact - that publicly atleast - l2j is going the l2off route with closed knowledge in circles.

 

...and the reason i poked you - is because some of the issues that truly made l2off stand out in the old days (because l2off just happenedl) haven't really changed.

And while i'm sure you've been able to do many cool things and projects - you and everyone didn't decide to try fix the framework that was created "just to work" not to "work good, efficiently in a technical superior way".

 

I don't see however what all of this has to do with l2off and maxtor - but i geuss you'd like to try pin everything that happens badly to l2off on l2off people (good luck!).

Which sort underlines my points about your reading comprehension - and understanding of my message ;)

 

Again you downtalk l2j in favour of l2off, l2j is now ertheia without downloading some russian source as you fake developers do it. The reason l2j do what it does is the same reason why back than l2jfree did what it did. Its the the time in which you get to a point but its the way you get there thats important since you will get there eventually.

 

And please, leave this topic for once just leave.

Edited by Intrepid
Posted (edited)

You are wrong, I respect the power of the C language, but not for gameservers. Java has been proven to be faster, cleaner and less cost effective than any C++ code counterpart, and thats because it has the superior JIT compiler that makes adjustments even in runtime. I can run it on linux, on mac and even on my android, while l2off's c++ outdated core is stuck on 32 bit 2003 windows just because its machine language where the only advantage it has is that its almost impossible to be reversed engineered in comparison with a java gs.

 

PS: Ye another notable advantage over java gameservers is that it makes a faster startup in comparison with JIT's warmup, but ask yourself do you even care for a few extra seconds the very first seconds of your gameserver's life? You really dont.

 

C++ gives you literally no advantage to be used over Java on the specific gameserver, if you believe it does please give me some arguments.

 

 

Professionals go always like this

 

Server: Java / Managed Language - rare cases native c++

Client: Native languages

 

 

...are you that fucking blind and in love with a managed language?

 

Name one source leak on ragezone from obscure f2p asian mmo's to NWN to RoM - that uses a managed language.

NO ONE codes raw performance server applications and no leaked mmo's actually support your argument.

Fuck startup - it's about threading effectively (not loosing cache misses for opcodes) and handling IO\Networking as close to TCP as possible.

 

So please name a high profile mmo that has to handle a million requests a sec from network level to memory - that uses a managed language to run.

Doesn't exist - and the fact you somehow think a overhead of having a virtual machine having to translate and run code before it gets translated to machine level is faster than writing directly to the metal of the hardware is a joke.

 

Seriously xdem - managed languages are able to create things fast but now just spewing bullshit without fact.

No matter what you say there's a extra rounds of computing done when using a VM of any kind.  (hence the point of a VM).

 

PS:

You know it's 64bit since after c1 - but i geuss your too "proud and awesome" to write me an autopickup ext for c4? you can do it for GF too if you want :)

If you deliver the code working - i will pledge\promise to send you 100 usd.

 

Pussy or....going to excuse now?

 

@Intrepid:

 

Your super clueless - do you read or just argue?

Focus on points - or you look like an idiot.

 

Your ertheia:

http://www.l2jserver.com/forum/viewtopic.php?f=110&t=30668

 

It's gonna take a long time before it's playable.

You haven't developed anyything  - and neither has NOS & SDW  (whom i know...and are old l2off people ;) ) yet anyway.

They are gonna get there as you say - but when? in 2 years? 3? years? will ertheia matter then?

Does fixing a few packets make L2J ertheia now?

 

Your either in 99% percentile with a project, or your not complete in L2.

Edited by mcbigmac
Posted (edited)

Managed is the future, it is already everywhere. You can even find managed c++ apps today, simply because the JIT will be always better and the most preferable over the classic native compiler for server side programs.

 

You seem like a guy who studied some programming 10 years ago, and all your knowledge caps at 2005.

Edited by drake2wow
Posted (edited)

Managed is the future, it is already everywhere. You can even find managed c++ apps today, simply because the JIT will be always better than the classic native compiler for server side programs

 

....Managed c++?

 

I don't count microsoft's ambition to embed CLR in everything managed.

 

"the JIT will be always better than the classic native compiler for server side programs"

Statement, not a factual argument.

 

It's not faster if speed is of the essence, the JIT needs to translate, internal bytecode to machinecode.

Rather than a to the metal unmanaged language, already has done that on compile time.

 

You loose there, it's factual, period.

The same way ICC or VS etc - can be optimized by writing hand assembly for any programmatic logical problem.

Edited by mcbigmac
Posted (edited)

....Managed c++?

 

I don't count microsoft's ambition to embed CLR in everything managed.

 

"the JIT will be always better than the classic native compiler for server side programs"

Statement, not a factual argument.

 

It's not faster if speed is of the essence, the JIT needs to translate, internal bytecode to machinecode.

Rather than a to the metal unmanaged language, already has done that on compile time.

 

Mate, do you actually know how a JIT works ? It will boost the perfomance with info gathered from your current hardware, it will adjust into that hardware with the best efficient way. Here is a java - c++ speed test. You will be amazed to know that java can be 1000% faster than c++ native code on a methodcall, thats NOT because java is better than c++, but thats because JIT did its magic.

 

cpp_vs_java_diagram.png

 

Now let me remind you, a gameserver like L2J and OOP in general is all based on method calls and object creations, java is 1000% faster, could you imagine how much faster the java server would be where milions of methods are called every seconds and another couple of thousands objects created?

 

PS: Even nested loops, the most important thing of a gameserver is amazingly faster, (Consider that on the assembly level the loop is a standard goto command) but yet again JIT did its adjustments on runtime

 

Dont underestimate the bytecode, you could 5-6 years ago but not now, most languages now are interpreted or managed. 

Edited by drake2wow
Posted

Oh great graphs from some (i'd geuss biased, see ICC vs VS vs GCC for performance) - on random parallel math problems without any documentation to the real test.

 

You realize the JVM core is created in C right?

You realize something that goes:

Code > Machine Code.

Code > VirtualCode > MachineCode.

 

The second one - if ALL things equal - will always be slower because of the extra step.

 

Are you going to claim assembly is slower than java as well?

Posted (edited)

Oh great graphs from some (i'd geuss biased, see ICC vs VS vs GCC for performance) - on random parallel math problems without any documentation to the real test.

 

You realize the JVM core is created in C right?

You realize something that goes:

Code > Machine Code.

Code > VirtualCode > MachineCode.

 

The second one - if ALL things equal - will always be slower because of the extra step.

 

Are you going to claim assembly is slower than java as well?

 

Mate you seem like you can't get it.

 

First of all, yes JVM is written in C, but what does it mean? After the compilation it became native code, its not C anymore. It all ends up in the same binnary. Pascal/C/WhateverCompiledLanguage results on the same binnary code, period, so your argument that JVM is C based is really irrelevant, all it has to do is to read java bytecode.

 

Unmanaged: Binnary standard code -> Execution

Unmanged: Interpretation (Warmup) -> Binnary Standard code (cleaner, faster, optimized) -> Execution

 

What does this mean? Java - C++ - Whatever runs in pure binary form, the only difference is that managed gets its warmup (a few damn miliseconds) and then it runs pure binnary code (sorted - optimized - faster - cleaner than the original code the developer wrote)

 

PS: Java over c++ methcall objinst faster execution is a worldwide fact

Edited by drake2wow
Posted (edited)

Be my guest, run the l2jserver on a linux and when the server gets online delete the whole pack. The server will remain online for days to come because its all loaded into the JVM, when I walk ingame I don't ask the JVM to translate bytecode -> binnary cause its already translated, it will call the same binary the c++ executable would, but as I already said a couple of times optimized by the JIT

 

PS: I suggest linux because Windows won't permit file manipulation because it holds a lock on files

Edited by drake2wow
Posted

Mate you seem like you can't get it.

 

First of all, yes JVM is written in C, but what does it mean? After the compilation it became native code, its not C anymore. It all ends up in the same binnary. Pascal/C/WhateverCompiledLanguage results on the same binnary code, period, so your argument that JVM is C based is really irrelevant, all it has to do is to read java bytecode.

 

Unmanaged: Binnary standard code -> Execution

Unmanged: Interpretation (Warmup) -> Binnary Standard code (cleaner, faster, optimized) -> Execution

 

What does this mean? Java - C++ - Whatever runs in pure binary form, the only difference is that managed gets its warmup (a few damn miliseconds) and then it runs pure binnary code (sorted - optimized - faster - cleaner than the original code the developer wrote)

 

 

You should read more on the JVM and JIT works - it's not some magic machine that can automaticly detect the 100% most optimal way by just reading programming statements. It can't view the program\application as a whole.

It can only view it by statement\function.

 

Your optimization possibilities as a programmer is limited - while one could go on an endless quest to optimize everything C\C++ if one wanted.

One can have the whole application optimized by statements that takes least cycles - in conjunction with whatever ti's supposed to do.

 

The step is there so you finally admit it - you had to turn the discussion for what ? your ego?

I'm sure you can write the program faster in JAVA - but if you wanted the program faster in execution you go closer to metal.

 

 

Thread is still he same as before, L2J is heading for L2Off territory.

Knowledge dying - rewards too little for people with brains to bother enter the "community".

Posted

Be my guest, run the l2jserver on a linux and when the server gets online delete the whole pack. The server will remain online for days to come because its all loaded into the JVM, when I walk ingame I don't ask the JVM to translate bytecode -> binnary cause its already translated, it will call the same binary the c++ executable would, but as I already said a couple of times optimized by the JIT

 

PS: I suggest linux because Windows won't permit file manipulation because it holds a lock on files

This is called memory.

This is not exclusive to your God - THE JIT.

Posted (edited)

Lol, end of discussion. You still talk about java and metal while I already explained you that after the interpretation java is iron and c++ a kinda rusted iron 

 

 

The only thing Im gonna admit here is that Java exists because C exists, thats the fact, Java can't go as low as C/C++ does, thats the power of the C family: Unsafe and Powerful.

 

Java is better in everything else, but lets not go to the JNI discussion, that makes Java as strong as C++ with some yes some performance loss

Edited by drake2wow
Posted (edited)

Lol, end of discussion. You still talk about java and metal while I already explained you that after the interpretation java is iron and c++ a kinda rusted iron 

Except it's not directly 100% iron.

 

Your at 100% mercy what JIT decides the iron part to be - sometimes super excellent sometimes.. not.

While your the own master of the iron with a managed language (up to the assembly point).

 

If the iron is rusty - the programmer is rusty.

Regardless of language.

 

Thus we're back at the start - and your factually kinda wrong.

Edited by mcbigmac
Posted

So you still believe that on the case of l2j your CPU executes bytecode or some sort of java code, and that on a compiled language it runs 010101110. You are decieved, both servers run binary code. C++ is a dying language

Posted

No, cause i didn't say that.

 

Your deflecting like a little kid - grow up.

Control of bytecode vs no control whatsoever - geuss which is chosen when you want the max utilization.

 

PS: Where's the MMO's that use java for serverside? oh Minecraft? great example.

Posted (edited)

No, cause i didn't say that.

 

Your deflecting like a little kid - grow up.

Control of bytecode vs no control whatsoever - geuss which is chosen when you want the max utilization.

 

PS: Where's the MMO's that use java for serverside? oh Minecraft? great example.

 

Stereotypes, games invest a shitload of money, they pay the chinise no life developer to code a great c++ gamecore. But you don't even know that the main reason behind this, is that they don't want their gameservers to be leaked from 3rd party people that maintain the server that runs the gameserver. Few licencess, an unmanaged native file and their multimilion dollar gameserver is secured even when distributed on 3rd party employees.

 

A strong point of why managed languages are not common choices for big multimilion gameservers, even xeL can decompile it. And that is irrelevant with runtime performance

Edited by drake2wow

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...