Mineserver Community

Mineserver => News => Topic started by: deoxxa on October 23, 2011, 07:28:52 am



Title: Mineserver 2.0 - New look, same great taste!
Post by: deoxxa on October 23, 2011, 07:28:52 am
(http://i.imgur.com/1cwmH.png) (https://github.com/Mineserver/mineserver2)

That's right! Mineserver 2.0! Take a look at it on GitHub (https://github.com/Mineserver/mineserver2) today! There's not much to see just yet, but we're progressing very quickly. If you're familiar with C++, take a poke around the code and tell us what you think.

We've learnt a lot from writing the first version of Mineserver. One of those lessons was that to maintain a large application, it's necessary to design the application with the right concepts in mind from the very start. This was one of the driving forces behind the rewrite for 2.0. To that end, we've tried breaking up the new codebase into smaller, self contained pieces, while maintaining the speed and efficiency Mineserver is known for.

Planned features (in no particular order):
  • Cleaner code - cohesive, isolated modules make hacking on Mineserver a breeze!
  • Better design - many advanced features that were all but impossible before are now simple!
  • Neater installation - getting started with Mineserver has never been easier!
  • Virtual hosting - host more than one server on the same IP and port!
  • Distributed hosting - spread the load of your game over multiple cores or even physical machines!
  • Plugin repository - find all the best plugins in one convenient place!
  • Multiple protocols - use any Minecraft client!
  • Game hibernation - no resources used while no players are connected!
  • Remote API - interact with Mineserver from any application that can speak JSON!
  • Rich administrative tools - delegate administration of your games over multiple admin tiers!

Any feedback would be greatly appreciated and new contributors are always welcome. We can be contacted in any of the following ways:

  • IRC - #mineserver (http://irc://irc.freenode.net/mineserver) on freenode
  • Forums - reply to this thread (or start your own! Be a man!)
  • Email - developers@mineserver.be
  • GitHub - https://github.com/Mineserver/mineserver2 (https://github.com/Mineserver/mineserver2)
  • Virtual Stalk* - google any of the developers, none of us are too hard to find!

* Virtual Stalkers take note: we reserve the right to stalk you back and say "hi" on Facebook every day for the next 6 months


Title: Re: Mineserver 2.0 - New look, same great taste!
Post by: Ligustah on October 24, 2011, 10:23:36 am
I'm really looking forward to using this, but I'm not fluent with C++, so I highly doubt I'd be any help to the project.
What I think went slightly wrong last time was that it was not feature complete (as in having all features of the vanilla server), which made it more or less unusable for normal hosting, and that there was little consent/communication about features added (that's what it looked like to me at least, I don't know about conversations outside of this forum).

I had a quick look at the source and I personally think the naming convention for the network packets is not easily maintainable. Why don't you stick to the names used in the "official" protocol documentation (http://mc.kev009.com/Protocol) ? Also it might it good to use macros to give names to the protocol IDs, so as to make changes to the protocol handling much more straight-forward.

Hope my two cents are somewhat useful, I'll try to keep up with updates on this project!


Title: Re: Mineserver 2.0 - New look, same great taste!
Post by: MechWarrior001 on October 25, 2011, 07:44:56 am
Hmm, would it be possible to add in a full terrain generation function? Instead of generating chunks on the go give the server a option to fully generate the maximum size of the world upon the world creation/initial startup. Just a thought.


Title: Re: Mineserver 2.0 - New look, same great taste!
Post by: Jailout2000 on October 29, 2011, 03:54:39 am
Instead of generating chunks on the go give the server a option to fully generate the maximum size of the world upon the world creation/initial startup. Just a thought.
You realize that's around 38,113,107,519,317,796 chunks right? That would take years to generate... yet alone keep track of, or store on a hard drive for that matter.

Your idea is just crazy.

It's much better to generate it on the go... it's not like mineserver takes more than a couple seconds to generate five chunks, lol. Heck it might even do it faster than that.

(For the techies here, 0xFFFFFFFF (the size of an x or z axis) divided by 16 = total chunks on that axis. Square that, and you get how many chunks possible.)


Title: Re: Mineserver 2.0 - New look, same great taste!
Post by: Uno on October 30, 2011, 03:45:34 am
Yay, at last! :D

I'd like to hop on, but when I look at the work that has been already done I get quite overwhelmed and realize how very limited my C++ knowledge really is :)

Any chance you're going to implement plugin support so people like me could start from simpler things? (though I will still be stalking Git Hub trying to figure out how things are done so some day I could join you :D )


Title: Re: Mineserver 2.0 - New look, same great taste!
Post by: Jailout2000 on November 11, 2011, 09:52:37 pm
Any chance you're going to implement plugin support so people like me could start from simpler things?
Of course; it's not implemented, but it's planned.


Title: Re: Mineserver 2.0 - New look, same great taste!
Post by: Uno on November 15, 2011, 05:53:34 pm
Well then, can't wait for it to come out :)

We're ready to host a linux version of Mineserver as soon as it's released :D

Any news on when it will be good enough to make an official release?  :)


Title: Re: Mineserver 2.0 - New look, same great taste!
Post by: deoxxa on November 16, 2011, 12:41:45 pm
Any news on when it will be good enough to make an official release?  :)

No hard dates right now, but I'm going on holidays from work in a couple of weeks and I plan to spend a good chunk of time on the project. It'll be faster if/when more people join in :).

Any chance you're going to implement plugin support so people like me could start from simpler things?

Definitely! As soon as I have a somewhat solid base working, that'll be the next step.

I'm planning on using ZeroMQ to implement a plugin interface so you can write code in any language with a ZeroMQ binding. That way anyone can join in the fun, and if something is deemed important enough, an organic process consisting of "people with C/C++ skills think this needs to be implemented in C/C++" will see it ported in a timeframe directly relative to how many people like it.

I actually plan to use it to prototype things in Javascript via Node.JS and node-zmq, then port them to C++ as required.

There's a few things left to get the core operational right now:

  • Map generation
  • Chunk sending
  • Lighting
  • Entity management
  • Block manipulation
  • Physics
  • Chunk storage

...in roughly that order.

I wrote a rudimentary "flatlands" map generator today, and am currently porting the 1.0 NBT code to work with 2.0's library setup. Hopefully this will achieve completion of the first two points, though I'm not sure when I'll get a chance to finish the NBT stuff off (it's getting late here in Melbourne!).

Lighting is a solved problem - we have working code in 1.0 that can be ported pretty easily.

So yeah, progress is coming along, albeit slowly right now.


Title: Re: Mineserver 2.0 - New look, same great taste!
Post by: Jailout2000 on November 17, 2011, 07:10:11 am
Any news on when it will be good enough to make an official release?  :)

No hard dates right now, but I'm going on holidays from work in a couple of weeks and I plan to spend a good chunk of time on the project. It'll be faster if/when more people join in :).

I'm now helping him in the project, so things will move a little bit faster.


Title: Re: Mineserver 2.0 - New look, same great taste!
Post by: Fador on November 17, 2011, 05:04:20 pm
Lighting is a solved problem - we have working code in 1.0 that can be ported pretty easily.

Lighting needs to be fixed..light doesn't propagate across the chunks properly ;) I was working on a more optimized lighting generation, maybe I could finish that for ms2..


Title: Re: Mineserver 2.0 - New look, same great taste!
Post by: Kane on November 18, 2011, 08:20:00 am
Looking amazing guys this is just pure sex! I'm really looking forward to the future and I'm just about to tell my players about our Future 2.0 hehe. I got worried a bit but it looks like you have owned your way to the top with 2.0!


Title: Re: Mineserver 2.0 - New look, same great taste!
Post by: balticum on December 03, 2011, 05:09:09 am
I like the idea, but please don't mess with Java, nobody likes lag :)


Title: Re: Mineserver 2.0 - New look, same great taste!
Post by: Uno on January 04, 2012, 03:29:02 am
So, any news on the development? :)

Can't wait for a Linux test version :)


Title: Re: Mineserver 2.0 - New look, same great taste!
Post by: Timatooth on January 04, 2012, 12:59:54 pm
Development has been pretty quiet the past few weeks. devs on holiday perhaps?  You can already build it and connect with a 1.0.1 client.
Basic features working already;
-Chat
-Digging
-Placing blocks
-Movement and head orientation works but buggy.

Edit: I completely forgot that flamer has added the land generation back as well.

Ive been playing around with my own fork trying to get mobs and dropped items to appear.


Title: Re: Mineserver 2.0 - New look, same great taste!
Post by: tbar on January 04, 2012, 01:17:30 pm
Edit: I completely forgot that flamer has added the land generation back as well.

How does land generation work? I've tried with the latest code but did only see a flat landscape...


Title: Re: Mineserver 2.0 - New look, same great taste!
Post by: Timatooth on January 10, 2012, 03:29:40 pm
The land generation code is still on his fork of the code.  Land generation is done using an old library called libnoise. It really does look cool imo.

I uploaded some screenshots.

http://imgur.com/a/odwCd#3 (http://imgur.com/a/odwCd#3)


Title: Re: Mineserver 2.0 - New look, same great taste!
Post by: tbar on January 10, 2012, 07:25:43 pm
Awesome! When will this be merged into the main branch?


Title: Re: Mineserver 2.0 - New look, same great taste!
Post by: Timatooth on January 11, 2012, 12:07:01 pm
Hopefully when deoxxa starts committing again. He is in Japan as far as I know.