The Complete Beginner's Guide to Sponge!
(last updated 6 November 2014)
All information in this post is subject to change.
(Moderation Edit) ** PLEASE NOTE: **
This guide is no longer updated and therefore lacking new information plus may contain (now) false information. Please head over to the SpongeDocs to get the latest information including updates.
Hello everyone! My name is Tmad and I'm a server owner. Yes, that's right - just a server owner - no coding here. Never touched a single line of code in my life. Then what am I doing here on the Sponge forums, you ask? Well, the end goal for Sponge is... you know, to run servers with it, right? Right! So I have been REALLY confused and lost as to the state of Sponge and what I am going to do with it as a server owner. I tried to search around and find information, but it didn't seem very organized. Cool story bro, so what am I posting this for? For you, of course! I'm making this topic so that you can have one central place to come and learn about the current state of Sponge - without having to learn code or use the search box for literally hours.
The Most Common Questions
What is Sponge?
Sponge is an API (Application Programming Interface) created for Minecraft. Sponge enhances the basic Minecraft server that you probably already use. With Sponge, developers and coders are able to write "plugins" that extend the functionality of the bare-bones Minecraft server, and allow you to do things like teleporting, setting warps, virtual money, and much, much more.
That sounds just like Bukkit. Why can't I just use Bukkit?
As of 3 September 2014, CraftBukkit (the server version of Bukkit - another API similar to Sponge) is no longer available for download due to legal issues. It is no longer possible to download and start a server using Bukkit.
If you want more information on the Bukkit situation, go over to the official Bukkit website at http://www.bukkit.org/
So where can I get Sponge?
Sponge is not out yet. There is no release. You cannot get it yet.
However, if you are nerdy and want to see the actual code that's going into Sponge to help it toward its release, you can go here: https://github.com/SpongePowered
You can also see the official announcements related to how Sponge is coming along: https://forums.spongepowered.org/c/announcements
How long is it going to take?
Sponge is still very much under development, but the first API release is scheduled for November. This DOES NOT mean that we will have a working implementation for servers, however. Let's explain this a bit:
There's a difference between the API and the implementation. In very basic terms, the API is just the "reference code". In order for anybody to actually use it, you need to make an implementation for it. The first implementation will be built on top of Forge, which I'll explain below.
We're currently waiting for the team at Forge to do some stuff so that Sponge can move forward, since the first Sponge implementation is going to be made using Forge.
So until the team is able to pump out some releases, we're stuck for the time being. Go get a coffee and read a good book or two. I recommend one of my favorite authors, Chester Himes!
Are there any official status updates on Sponge? Where can I find out what's going on?
Yes! There are a few places. Here, I'll list them for you:
The official Announcements Forum, where @sk89q (the Sponge project lead) and others post major announcements/changes to Sponge, is right here: https://forums.spongepowered.org/c/announcements
Sponge also has a Twitter account where they post some stuff; that's right here: https://twitter.com/spongepowered
I've seen "Forge" being thrown around. I run a server without Forge. Do I have to use Forge now?
Yes. You do have to use Forge on your server to use Sponge. Fortunately, this is being made really easy for us, because Sponge is going to come pre-packaged with Forge already inside. So all you'll need to do is download and install Sponge, and Forge will be taken care of behind-the-scenes for you.
You can find info about Forge here: http://www.minecraftforge.net/wiki
There's also some good news for us: Since the Sponge API is separate from its implementations, as I mentioned above, the team is able to make different implementations for different platforms. Forge is only ONE of those platforms. So, in the future, implementations that don't require Forge are very much possible.
I thought Forge was a mod. Do my server's players have to mod their game now?
The short answer is: NO, your players DO NOT have to install any type of modification whatsoever. The next update of Forge is being designed so that players with vanilla (a.k.a. not modded) Minecraft will be able to connect and play no problem. Sponge will work in much the same way, in that plugins written for Sponge will not require any mods on the player's game to work.
However, there is a bit of a caveat here. If a plugin developer decides to change their plugin so that it has a feature that requires a client-side mod, then your players will be required to install Forge onto their game in order to use your server. You may also lose this plugin if you decide to not force your players to install client mods to join your server. Hopefully, once Sponge plugins start being released, there will be an easy-to-understand method by which to determine if a plugin requires client-side modding or not. Keep your fingers crossed!
What Minecraft version is Sponge being made for?
Sponge is being made for Minecraft 1.8 - the Sponge team has said that they eventually do want to support Minecraft 1.7.x, but at the moment 1.8 is the primary focus.
Of course, all future versions of Minecraft will be supported by Sponge too.
I have Bukkit plugins that run on my server that I can't afford to lose. Will Sponge work with my Bukkit plugins that I already have?
Maybe. There appear to be some projects going on that will make Sponge work with existing Bukkit plugins; however, we haven't heard a lot from them recently.
If you want to see what the community's ideas have been for this, you can check out the following links:
Pore - a "bridge" between Bukkit and Sponge: https://www.reddit.com/r/poreproject
Unofficial list of Bukkit plugins that are going to be made for Sponge too: https://docs.google.com/spreadsheets/d/1sjqo_NroBPAX-m4R78IPGdAPW8794A8gj38GpN6e5lU/edit#gid=0
This is all nice and dandy, but now what?
Just give the team some time! Coding something this hugigantomungous takes a long time and is really, really hard. Keep on keepin' on, and everything will be fine.
If you want some more info, there is an Official Sponge FAQ right here: https://docs.google.com/document/d/1VJ1WzHI-VUuoHEJz4SRHUbl-5XnsURbqP5fIi8B4Kyg/edit
Searching The Forums
My question isn't answered here. How can I try to find something that's somewhere else on the forums?
Easy! We have a Search function here at the Sponge forums. It's up there in the top right corner of the page, and it looks like this
The search isn't really working how I want. Any tips on how to make it work better?
Yeah! Here's some tips on how to use the Search box:
Topic title matches are prioritized, so when in doubt, search for titles.
Unique, uncommon words will always produce the best results.
Whenever possible, scope your search to a particular category, user, or topic.
There are also some cool variables that you can use in the chat box! Check it out:
order:views (this will sort your search results by how many views they have)
order:latest (this will sort your search results, putting the newest topics/posts first)
status:open (this will only search for topics that can still be replied to)
status:closed (this will only search for topics that have been closed off to new posts by a forum staff member)
status:archived (this will only search for topics that have been moved to the forum's archive)
status:noreplies (this will only search for topics that don't have any replies yet)
status:singleuser (this will search for things where only one person has written anything)
category:foo (this will search in the "foo" category)
user:foo (this will search for things made by someone named "foo")
in:likes (this will only search for things that you have "liked" with the little heart button - like this topic, right? )
in:posted (this will only search for things that you have posted yourself)
in:watching (this will only search for things that you have marked as "watching")
in:tracking (this will only search for things that you have marked as "tracking")
rainbows category:parks status:open order:latest
This will search for topics containing the word "rainbows" in the category "parks" that are not closed or archived, ordered by date of last post.