C# Port for better Performance on Windows Servers?

However, it is UpperCamelCase, and as a Linux and Java fan I have to hate that ^^

(I am doing C# at work, please don’t take this comment seriously)

2 Likes

Why would you port FML and Sponge? Forge plugins wouldn’t work anyway (unless you want to go through hell)

Eh? The plugin he was suggesting would run Java plugins from a C# server. Meaning that we could keep the SpongeAPI as-is, but every other component of the server would need to be coded over to C#.

Ah, that would hit the performance hard, and give the developer(s) a hard time.

I would love for Minecraft to convert it’s game engine to a C# one since C# is what I usually work with and most comfortable with. But I highly doubt it’s going to happen since they would need to get license from Mono to port it on iOS. Although, now Microsoft owns Mojang, it can be a possibility. If Minecraft changes it’s game engine to .NET on 1.10 rev, then I am pretty sure the modding framework also needs to be in .NET Framework and not Java. But the chances are really low of that happening.

1 Like

I agree. :stuck_out_tongue:

.NET is in beta for Mac and Linux.

Actually, from what I’ve heard, vanilla MC and MC server have already been ported to C# by Mojang in order to run on the xbox consoles.

4J Studios is responsible for the console ports, not Mojang. These ports are also significantly behind the PC edition, as well as being limited in world size, among other things. We will not be supporting these ports.

4 Likes

I haven’t played a console version in a while, I had forgotten that 4J is in charge of them. I did know, however, that they’re typically several release cycles behind. That’s sort of to be expected when they have to port the entire release to the other language. If they worked more closely with Mojang, maybe someday the could work in parallel, and have near simultaneous releases (especially now that M$ owns both the xbox platforms, AND Mojang.)

I was always of the impression that the limited world size is just to guarantee acceptable levels of performance while running both server and a (potentially splitscreen) client at the same time, on relatively limited hardware. If you limit the number of chunks that could be loaded and updating simultaneously, you don’t really have to worry about how many will be.

I didn’t mean to imply that any of the PC communities should necessarily be supporting them. Only that it has been done, at least mostly, and is doable.

they have done it in pocket edition.

Are you capable of getting an entire studio of capable developers just to do the c# port?

It seems that you are trying to get Sponge team to use c# no matter what, as you keep ignoring the fact that:

  1. Its a massive work load.
  2. It has almost no benefit.

Maybe if you tell us what you REALLY need, we can help you. Otherwise, use the regular sponge, as it works just fine.

If this is just about running Sponge or Minecraft in C# (I don’t see any major advantages in .NET over Java in this case tbh), nothing is stopping you from using IKVM, a JVM implementation in .NET/C#. It can directly run a lot of Java application in a .NET environment.

While it would probably be slowed down a bit by the additional layer of the JVM implementation in .NET, the performance difference Java<->.NET is really not worth any complete rewrite of the Minecraft server. The real performance problems of the Minecraft server are not Java itself, but rather just because it’s written in a quite inefficient, single-threaded way.

I just tested using IKVM and you can even run SpongeVanilla without any modifications in IKVM, the Minecraft server and loading plugins works fine without any problems. It does also allow using Java API’s from C#, so it would just need some modifications to load some kind of C# plugins too if you really want to invest time in making that work.

According to their homepage, it can even run the Minecraft client, although I haven’t tested this because this doesn’t seem worth for me anyway.

1 Like

I completely forget about IKVM, it is a truly good piece of software and quite nice to work with :smiley:

It gives a lot C# Experiments of Minecraft Server, which are working but need to updated by myself. so implementing Forge & SpongeAPI will slow down some components (Join, plugin commands) but the main threads itself will run better and smoother than the standard minecraft server.

Hey, what’s with all the heat? This isn’t my thread, OR even anything that I’m advocating, I was just adding my thoughts. I’m not ignoring anything, or pushing for Sponge to support anything. Re-read the last part of my second post:

I believe he either misquoted, or thought you were the OP. :smile: Don’t worry.

1 Like

That’s a Windows problem, not a Minecraft one.

5 Likes

true, but if you optimize the app good enough, it will run very good on win servers too.

Run a badly programmed app on a good server, that’s fixable. Run a correctly programmed app on a terrible server, that’s not. Even if you optimize Minecraft, a Windows server still is a Windows server.

7 Likes