Hello,
Currently I'm working on porting the L2JMobius project for 447 protocol to C#/.NET.
About 90% of codebase is ported (except scripts and quests) and now I'm fixing the last compilation errors. After the code starts to compile successfully I will most probably need to fix logical errors in the code that appeared during Java -> C# porting.
I have chosen .NET because I know it excellently.
What I'm planning to achieve with this port in the future:
1) Modernizing project codebase, for example using EF core for DB access.
2) Using allocation free .NET techniques. In Java everything is a class on heap, .NET has stack-allocated structs and ref-parameters.
3) Performance close to C++.
4) API-like world objects with all packet mechanics hidden inside
The repo is here -link removed-
I'm looking for enthusiasts who can help me with the project.
First of all, you mentioned 447.
I assume you are not a subscriber, so good luck on that.
1) Modernizing project codebase? Meaning L2jMobius is somehow outdated?
2) Java's garbage collection mechanisms, are highly optimized and efficient for managing memory. We use them for years with success.
3) Last time I checked Java's performance was closer to C++ than C#. Not that C# fells far behind, but I wont tell you where C# really falls behind, your choice, your lessons to be learned.
4) As in API-like world objects with all packet mechanics hidden inside, made by choice?
Overall, while C#/.NET offers its own set of advantages and strengths, Java remains a compelling choice for many projects,
particularly those that prioritize platform independence, community support, and enterprise-grade reliability.
Ultimately, the choice between Java and C#/.NET depends on your own preferences.
No offence, but I do projects like yours every weekend to chill, loosen up my mind from the weekly grind.
What you do, I might have done it. By rewriting Java to C# you will probably have a drop of performance instead of increasing it.
Tho things will look fine with a few clients connected, they will go wild, really fast, when actual people start connecting.