Cuberite Forum
It's freaking faster! Cheers and questions - Printable Version

+- Cuberite Forum (https://forum.cuberite.org)
+-- Forum: Cuberite (https://forum.cuberite.org/forum-4.html)
+--- Forum: Discussion (https://forum.cuberite.org/forum-5.html)
+--- Thread: It's freaking faster! Cheers and questions (/thread-331.html)

Pages: 1 2


It's freaking faster! Cheers and questions - Taugeshtu - 02-05-2012

Hi there.
One moar russian dev arrived (not related in any way with another guy somewhere nearby)
My friend and I runs minecraft server, and we think it's time to give it a bit more kick and run it on new rails!
So, why I'm sitting there writing this message to you? Because what you have done there is an astonishing achievement.
Just 2 figures to let you know HOW FAST that thing is (if you're still thinking about using this server):

Minecraft client singleplayer mode: 2-15 FPS (yeah, my PC is rubbish)
MC-server running AT SAME PC + Minecraft client connected locally: 15-30 FPS

If you don't know what FPS is and what the hell this guy is about, I'll explain: it means that running this server AND client is FASTER than running client in singleplayer.

I tried stable release (r183 I guess), and I got couple of questions:
  • Should I use cut-edge revision? How far about gameplay details (what player will interact with) it's from r183? (I mean mobs, etc)
  • We used to use bukkit with Towny and chestshop, so far it seems EEEEEAAAASYYYY to make plugins with lua for server side and it's not kind of big deal for me to write their analogs, but maybe I've missed something and there's already alternative with similar-to-exact functionality? (Yes, I've spotted "RpgRegions" plugin, haven't time to play with it yet)
  • It might be just a weirdes seed ever, but I got a very strange cavern while testing... And TONS of flowers and mushrooms on surface - are you guys using your own world generator?
  • And one more thing: where I should look for plugin-plugin interactions? (If there is one) I mean I would be glad to make basic "money" plugin and then use it's functionality in other plugins (like chestShop alternative)

We're planning quite long development cycle (about a month of two men full-time work on plugins) and sneak peek at project's activity makes me think that all needed functionality will be implemented right by the time we need to launch server again. Where I can take a look at list of "to be implemented" features? It would be greatly appretiated to have sheeps and Nether dimension by launch date...

Again: you've done GREAT work there!
P.S.
I'm an indie game developer so I know how importaint cheering isConfusedleepy:


RE: It's freaking faster! Cheers and questions - mtilden - 02-05-2012

You can feel free to stay up to date on revisions on the SVN but I'd always keep a working stable copy and just overwrite the binary (and possibly any changed files like the webserver stuff or settings) from a separate SVN install. Most revisions released are pretty stable and if not, they get fixed fast. Chances are if you check it out, it will work.

The Lua plugins here directly hook to the engine classes/methods and most of it is written with whatever names the devs here wanted to call it, so I'm pretty sure any Lua plugins from any other system will need rewriting a lot.

The world generation is custom and pretty basic. If you know any c++ you can make your own generator and use that instead.

Not sure on the last point.

To speak to your first paragraph, it's the same sort of reason why I got into this, just it can simply be a lot better than the java official server, especially since it's completely open source so you're free to do with it as you want.

Cheers, great to see more enthusiastic members all the time and can't wait for any additions/releases you might have for the community in the future!


RE: It's freaking faster! Cheers and questions - FakeTruth - 02-05-2012

Hi Taugeshtu and welcome to the forums!

I'm glad you like MCServer, and we try to do our best to make it even better Smile

If you want to develop plugins, I recommend looking at the Core plugin http://code.google.com/p/mc-server/source/browse/#svn%2Ftrunk%2FPlugins%2FCore (see main.lua first!)
It uses several hooks, and creates lots of commands so it's a great example.

After you've looked at Core, you should see this list of other hooks available http://mc-server.org/wiki/doku.php?id=api:plugin:hooks
There's some more info on the Wiki, but much is outdated Sad

mtilden pretty much gave answers to all your questions, so good luck Smile


RE: It's freaking faster! Cheers and questions - xoft - 02-14-2012

And I might give you an insight on why the client is faster with MCS than with the official server:
MCS sends a smaller portion of the world to the client, which means the client has less to draw and therefore is faster. The downside is that the client cannot "see" too far.
Basically this is about the same as changing the game's video options' Render distance; the official server always sends enough data to cover Far, but MCS sends something between Normal and Short.


RE: It's freaking faster! Cheers and questions - tbar - 02-14-2012

Does that mean that MCS cannot make the client see "far"?


RE: It's freaking faster! Cheers and questions - FakeTruth - 02-14-2012

Change VIEWDISTANCE in cClientHandle.h to change view range. The client also has a limit though, so you could increase it to say 50, but clients still see the same as with 20


RE: It's freaking faster! Cheers and questions - xoft - 02-15-2012

With my recent big commit (251) I forgot to move the VIEWDISTANCE back up after debugging, so right now it is set to 4, which means the server streams an area of 9 x 9 chunks to a client (4 front, 1 current, 4 back times 4 left, 1 center, 4 right - that's where the four comes in). This is really too little (actually it's the minimum Wink , so feel free to set it higher, but as FakeTruth already said, clients don't display more than 20 x 20 chunks (render distance Far) so setting VIEWDISTANCE to anything more than 10 is just wasting the bandwidth (and probably memory both server-side and client-side)


RE: It's freaking faster! Cheers and questions - tbar - 02-15-2012

I've tried setting VIEWDISTANCE=9 with r261 and I'm noticing lag when the server generates chunks. The lag lasts 1-2 secs. I've also tried with r250 with VIEWDISTANCE=17 and I'm not noticing any lags using this revision. r250 doesn't generate chunks on the server either.
I'm running on virtualized hw with 256 MB RAM which may also have something to say in this regard...




RE: It's freaking faster! Cheers and questions - FakeTruth - 02-15-2012

Set GENERATEDISTANCE in cClientHandle.h to 2 or more, that should fix the lags I think.

A low GENERATEDISTANCE creates lags in the client, so I'm assuming your client lagsTongue


RE: It's freaking faster! Cheers and questions - tbar - 02-16-2012

I think the real problem is that the host I'm running on is a bit pressed for ressources. I'll look more into it when I'm the only one using it....

BTW: Wouldn't it be beneficial for end users to be able to set VIEWDISTANCE and GENERATEDISTANCE from the settings.ini? No need to recompile when tweaking the server setup Smile