Fork me on GitHub
  November 14, 2018, 02:32:35 am
Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
   Home   Help Search Login Register  
Pages: [1] 2
  Print  
Author Topic: Mineserver 2.0 - New look, same great taste!  (Read 15893 times)
deoxxa
Administrator
Newbie
*****
Posts: 28


View Profile
« on: October 23, 2011, 07:28:52 am »


That's right! Mineserver 2.0! Take a look at it on GitHub 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:


* Virtual Stalkers take note: we reserve the right to stalk you back and say "hi" on Facebook every day for the next 6 months
« Last Edit: October 23, 2011, 07:34:12 am by deoxxa » Logged
Ligustah
Newbie
*
Posts: 42


View Profile
« Reply #1 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!
Logged
MechWarrior001
Newbie
*
Posts: 31


View Profile
« Reply #2 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.
Logged
Jailout2000
Newbie
*
Posts: 49


Enthusiast


View Profile WWW
« Reply #3 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.)
« Last Edit: October 29, 2011, 04:13:50 am by Jailout2000 » Logged

Visit my website to see what's up with me.
Uno
Newbie
*
Posts: 3


View Profile
« Reply #4 on: October 30, 2011, 03:45:34 am »

Yay, at last! Cheesy

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 Smiley

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 Cheesy )
Logged
Jailout2000
Newbie
*
Posts: 49


Enthusiast


View Profile WWW
« Reply #5 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.
Logged

Visit my website to see what's up with me.
Uno
Newbie
*
Posts: 3


View Profile
« Reply #6 on: November 15, 2011, 05:53:34 pm »

Well then, can't wait for it to come out Smiley

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

Any news on when it will be good enough to make an official release?  Smiley
Logged
deoxxa
Administrator
Newbie
*****
Posts: 28


View Profile
« Reply #7 on: November 16, 2011, 12:41:45 pm »

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

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 Smiley.

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.
Logged
Jailout2000
Newbie
*
Posts: 49


Enthusiast


View Profile WWW
« Reply #8 on: November 17, 2011, 07:10:11 am »

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

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 Smiley.

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

Visit my website to see what's up with me.
Fador
Administrator
Full Member
*****
Posts: 126


View Profile
« Reply #9 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 Wink I was working on a more optimized lighting generation, maybe I could finish that for ms2..
Logged
Kane
Global Moderator
Newbie
*****
Posts: 14


View Profile
« Reply #10 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!
Logged
balticum
Newbie
*
Posts: 2


View Profile
« Reply #11 on: December 03, 2011, 05:09:09 am »

I like the idea, but please don't mess with Java, nobody likes lag Smiley
Logged
Uno
Newbie
*
Posts: 3


View Profile
« Reply #12 on: January 04, 2012, 03:29:02 am »

So, any news on the development? Smiley

Can't wait for a Linux test version Smiley
Logged
Timatooth
Newbie
*
Posts: 21


View Profile
« Reply #13 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.
« Last Edit: January 04, 2012, 01:02:04 pm by Timatooth » Logged
tbar
Newbie
*
Posts: 3


View Profile
« Reply #14 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...
Logged
Pages: [1] 2
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2015, Simple Machines Valid XHTML 1.0! Valid CSS!