[OUTDATED] The Complete Beginner's Guide to Sponge

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.


Introduction

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: SpongePowered · GitHub

You can also see the official announcements related to how Sponge is coming along: Announcements - Sponge Forums

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: Announcements - Sponge Forums

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: Reddit - Dive into anything

Unofficial list of Bukkit plugins that are going to be made for Sponge too: Plugins to Port - Google Sheets

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: Sponge FAQ - Google Docs

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? :stuck_out_tongue: )
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”)

An example:

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.

28 Likes

Woot! Thanks @DarkArcana - I will be sure to keep this topic in good shape!

3 Likes

Okay so this is going to be a lengthy post, hopefully these links work like I hope they do!

Table of Contents:

Amendments of the above post:


EDIT: This is broken. Please mods, tell me how to make this work!

What is Sponge?
That sounds just like Bukkit. Why can’t i just use Bukkit?
Where can I get sponge?
How long is it going to take?
Will I have to use a forge server?
What Minecraft Version is Sponge being made for?
Will Sponge work with my Bukkit Plugins that I already Have?


Amendments


What is Sponge?: Amendment I

Change to:

Sponge is an API (Application Programming Interface) created to enhance the basic minecraft server. With the Sponge API, developers gain the ability to write “plugins” that do a variety of tasks such as: teleportation, setting warps, virtual money, and much more!


That Sounds just like Bukkit: Amendment I

[quote="tmad40blue, post:1, topic:4345"] 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, have a look here: Reddit - Dive into anything
[/quote]

Change to:

CraftBukkit, the server that contained the Bukkit API, Is no longer being updated past versions 1.6.4. The official links for the jar files have been taken down due to a legal issue. For any more information, please refer to bukkit.org and reddit.

~This is because I don’t like linking stuff like that, creates issues. :stuck_out_tongue:


Where do I get Sponge?: Amendment I

Change to:

The Sponge project is currently in active development. While in development you can check out This GitHub Repository to check it’s progress. You can also check out This Link to check out the latest announcements!


How long is it going to take?: Amendment I

The Sponge API is still in development, but is scheduled to be released to developers in November! However, that is just the API part of things. This signals a large step towards completion, but the path is still quite a long one. There has been no official expected release date, however, once the team gets their hands on the forge base we can expect a timely progress. Go get a nice hot cup of coffee and read a good book or two! (

You can add that last part (about your fave author if you wish :smile:


Do I Have to Use Forge?: Amendment I

[quote="tmad40blue, post:1, topic:4345"] 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. The assumption is that you will need to successfully start up a Minecraft server using Forge, and THEN go and install Sponge. However, since Sponge is not out yet, I do not know the particulars. I will update this post once I figure this out.
You can find info on installing Forge here: http://www.minecraftforge.net/wiki/Installation/Universal
[/quote]

Change to:

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. However, sponge will come with the forge server prepackaged and ready to go!. All you will need to do is download Sponge and run it! After it runs the first time, you will see everything that comes with a forge server as well as a few new files and folders. (more details as we receive them.)


I Thought Forge was a mod, Do my server's players need to mod their game now?: Amendment I

Change to:

The short answer is no. Your players will not need to install or modify their client to be able to connect to your server(s).

Now for the long answer! Forge (with no mods IE: BuildCraft, IC2, etc) can accept all clients. What does this mean? That means that the server will run like a normal minecraft server (just like bukkit)! So what does Sponge do? Sponge is an API base built on top of Forge (more later IE: Glowstone). The API just allows developers to create many things such as: commands, virtual money, etc. Now the reason why players don’t need to modify their clients is simple: plugins only modify existing data within the server and client by default. This means nothing about the core game is changed, Where as “Mods” modify the core game. This would include the following: Adding new blocks, Adding new entities, and much more!


What Minecraft version is Sponge being made for?: Amendment I

Change to:

Sponge is being created for Mincraft 1.8 initially. However, the main developers have expressed they want to also incorporate version 1.7.10 as well. Minecraft 1.8 is the primary focus for now and 1.7.10 will come after 1.8. And of course all future versions of Minecraft will be supported as long as permitted by the EULA.


Will Sponge work with my Bukkit plugins that I already have?: Amendment I

Change to:

It is up to the community to make this happen. Sponge API will differ from the Bukkit API which makes porting difficult, but still achievable. There have been a few unofficial posts such as The PoreProject which aims to help bukkit plugins to be easily ported. The there is This Unofficial List Of Plugins to be Ported. This list contains 470+ plugins and it’s growing!


Welp that’s all I could find for now. If I think of anymore, I’ll let you know!

Maybe add some clarification that while an implementation is being built on forge, others will exist in the future that won’t require the use of forge.

@hawtre I added that into my version of his post. :slight_smile:

Where abouts? I thought it’d be a good ammendment to the ‘Do I Have to Use Forge?’ section.

@hawtre

However, I wouldn’t mind seeing something like:

Do I have to use Forge?

The Sponge API is being built upon the Forge base for starters. This means you will have to use the Forge base. So what does that mean? Well, from a server owner standpoint nothing. The Forge base is just another minecraft server. You could add “mods” such as: BuildCraft, IC2, etc. but that is optional.

From a developer standpoint, this means a lot! you can interact with mods, and have the excellent flexibility that you could have like you were making a mod!

Summarized: Yes for now.

EDIT: @tmad40blue Please read that wall of text and give me some feedback, much appreciated!

Thanks! I’m going through right now and checking stuff.

@Kodfod

I implemented the changes you proposed and revised some of the links to things. I’ll continue to proofread what I’ve written and improve it. Thanks again for your input!

Just to let you know, we finally got the wiki up and running today. Will need a few things sorted out first, but information like this should be shifted to the wiki where it can be maintained better.

4 Likes

It’s about time! Is there a link you can give?

EDIT: @tmad40blue you should also add a disclaimer like:

All information is subject to change. All information in this post is current as of 11/6/14.

Then again, when this is moved to the wiki, shouldn’t matter :stuck_out_tongue:

EDIT#2: Found the wiki, can’t access it tho :frowning:

Nah, no access or link just yet. Need to do some ground work. I’ve been trying to push this for months now. It may take a few days to get up to speed.

@DarkArcana Few days? That’s not bad! Maybe we can clean up the pinned topics this way :slight_smile: (and yeah i know you can un-pin them, but some don’t)

:smiley:

Maybe its an idea to put a link to cauldron and spigot in here? For those who need a server now?

Also I dont see my question in here: will sponge be optimised like spigot/cauldron?

There is no point in putting links to Cauldron and Spigot, as they have both been DCMA’d, as a direct consequence of the Craftbukkit DMCA. You can’t DL them (at least, not legally)

Also, I doubt the optimisations of Spigot will be in Sponge, at least initially. That’s a later stage thing, and may depend on the implementation rather than the API.

Not true. Cauldron can be legally downloaded using Maeyanie’s Cauldron. She split out all code referencing CraftBukkit (wolv’s commits). It was put into a separate “CauldronBukkit” jar and it’s all hosted elsewhere. To get updates, Cauldron is releasing binary patches and you can use several patching programs to apply them. It’s legal, it’s just not user friendly.

1 Like

Spigot isn’t dead because of DMCA, they’ve been distributing patches to one of their jars that servers already have.

And are working on a new concept with 1.8

That’s kinda disingenuous. No-one can legally DL the Spigot jar that needs to be patched, leaving new users very much in the dark, and at risk of dodgy downloads.

Thanks for the update @DarkArcana, I hadn’t realised Cauldron had managed to squirm out from under the DMCA.

2 Likes