As many of you may already know the Craftbukkit project has come to an abrupt end. However a number of the big developers from Craftbukkit, Spigot and Cauldron are getting together and creating a new project that will replace Craftbukkit. This project will be called Sponge and it looks like it will be an excellent replacement.
For more details on the Sponge project, please view this page here: https://docs.google.com/document/d/1VJ1 ... B4Kyg/edit
Currently the page has a large volume of traffic, here is the FAQ section from the page:
What is Sponge?
Sponge is a combination of a new API (likely based off of Spout/Flow’s APIs) implemented on top of Forge, with assistance from other parts of Minecraft’s modding community (Glowstone, Canary, etc.).
It will be both a server and client API, and its target user base is pretty much anyone that wants to mod their game, including server owners. However, we may focus on the server-side portion first.
We invite any developer to help out.
I have not kept up. What happened to Bukkit?
One of the contributors to Bukkit sent a DMCA take down notice to have Bukkit removed. He was within his legal right. Downloads, as well as source code, for Bukkit and its derivatives (Spigot, Cauldron) are no longer available.
For a deeper explanation, please read this post: http://www.reddit.com/r/Minecraft/comme ... to_bukkit/
What are your Twitter/Reddit/GitHub links?
Please be weary of any website or presence that is not listed on this page as it is likely unofficial and may contain fake or malicious information.
/r/spongeproject on Reddit
@spongepowered on Twitterhttps://github.com/SpongePowered
Who is involved in this effort?
Currently, the project leaders are:
sk89q (of WorldEdit/WorldGuard)
blood (of MCPC+/Cauldron)
We are working very closely with Forge:
LexManos (of Forge/FML/MCP)
cpw (of Forge/FML/MCP)
However, we have the presence and assistance of several other Minecraft community members, including, but not limited to:
Portions of the Spout and Flow team (Zidane/Raphfrk/DDoS/Sleaker)
Portions from ForgeEssentials
We are also in communication with
Portions of the FTB team
The Canary team
Some previous contributors to Bukkit
Other people we have likely failed to mention
However, we are interested in talking with anyone who is able to help.
Why not wait for the official Minecraft API?
We are not sure when it will come out.
Many people are not in a position to wait.
We can get started sooner.
Those last three bullet points may have said the same thing.
As this new project is community-run, we may be able to push updates quicker than Mojang is able to and react to the needs of the community better.
The API may be implemented on other server implementations and we encourage it.
Have you consulted the community?
Yes! While things have been moving pretty quickly, we’re very open to input. Many of our decisions are based on discussion in the #nextstep IRC channel (on EsperNet) as well as the results of a survey.
We have been collecting meeting notes and consensus on a Google document.
Why not use a “wrapper”-style API?
A wrapper that merely works on network packets and reuses command blocks is extremely limited in function, so plugins would only be able to do a fraction of what they are able to do now.
Why not build a separate standalone server?
Reusing existing efforts in the community will allow us to have a working version much quicker.
Glowstone, unfortunately, is not free from the EULA as it was not written in a “clean-room” fashion (in the strictest sense of the term).
Other implementations are less far along or they do not support Java, which appears to be a major point of contention for a lot of users and developers.
None of us have the time to write a new server from scratch, and most of us have already seen Minecraft’s code in some form.
Doesn’t that mean that we will end up in this same situation again if we use proprietary code?
It is to our knowledge and our understanding that Mojang does not wish to stop Minecraft modding, and the recent events have not been directly caused by them. Rather, a contributor (a major one) objected to the use of his code, licensed under GPL, in combination with proprietary code.
If we avoid GPL, we will not have this problem.
While this does not free us from Mojang’s control, it is to our belief that they support modding and will continue to do so.
What license will Sponge be placed under?
MIT, without a Contributor License Agreement.
A Contributor License Agreement is not necessary and it may be a turn off to contributors.
Why not use Bukkit’s API?
It contains GPL licensed code, which is the reason why we are in this situation.
Recently, at least in the United States, the federal courts found that APIs could be copyrighted, although the case has not been fully resolved.
Will the new API be similar to the Bukkit API in how it is used? Events, etc.?
Yes. It should be fairly similar, and still afford you more power because you will have access to Forge.
Why SpoutAPI versus Canary or other APIs?
We chose SpoutAPI purely based on the result of the survey (which is mentioned previously).
Note, however, we are not implementing SpoutAPI as-is. It will serve as inspiration, which will reduce the amount of time spent on API design.
What about plugins that access ‘NMS’?
You will instead be accessing interfaces through Forge, which has a much greater number of names de-obfuscated.
However, accessing “NMS” raises the risk of your plugin breaking as is the case here, but that is your prerogative.
Will the new server be multi-threaded?
It will be multi-threaded in the same fashion that is Minecraft is (and also Bukkit and Spigot was), but we are not writing a server from scratch, so we are not able to make substantial changes.
How will the new server perform in comparison with Spigot and Bukkit?
We are currently investigating this, but we plan to reach or exceed performance of the other implementations given time.
Will you be able to send mods from the server to the client?
The general consensus is against this due to security concerns.
Minecraft’s API does not plan to send mods (with executable code) to the client either.
Will Bukkit plugins be supported, without modification?
No, due to the legal reasons that got us into this situation.
When will the first downloads be available?
We cannot say at this time.
But Forge doesn’t support unmodified vanilla clients?
At this time, yes, but LexManos has expressed plans in adding support for vanilla clients.
But Forge takes too long to update?
With a large portion of the Minecraft community working together, we are sure we can help speed up things.
I wish to help out.
Currently we are looking for developers with programming experience. Please fill out this form if you wish to help.
We also would like assistance with documentation, moderation, and other aspects, but that will come once we get started.
NOTE: We are not yet doing anything with the submissions yet so don’t fret if you don’t get a response.
What about support for Scala, Groovy, and other JVM-based languages?
We encourage other languages but Java will be our main priority.
Will other programming languages (such as Lua) be supported?
We will encourage other implementations but it will not be a high priority.
Will Glowstone be a part of this?
We hope we can help SpaceManiac and the team implement the API.
We also invite others to collaborate with us if they wish to.
What Java version is Sponge using?
Sponge will be using Java 1.6, which is the minimum version supported by vanilla Minecraftand Forge.