Hi (before I write anything I must say that I am an german guy and my English is not very good I think.)
So the question is basically the title of this post.
I know that sponge will be an forge coremod but I readed that it is also an api. I have understand this so that i can take sponge run it like an server and i can join on it with my modded client.
Hello buddy,
I would like to see sponge be easy to install and let others log on to your server with the normal, non-modded client. Some of my friends are technicly challenged, and so making it so the can play with 100% vanilla minecraft wouuld be nice. Could someone with closer ties to the project answer this question a little bit better?
Long answer, Sponge is written as a Forge (Modding API) coremod. What is a coremod? It is a mod that DIRECTLY edits the base Minecraft files. In today’s mod world, the goal is to only have Forge itself do that, as it helps cut down on conflicts between mods (ie. one mod editing the same file another edits).
In this case though, the head developers of Forge are also part of the Sponge team, and are effectively making sure that Sponge edits only what it needs to.
So how does that translate into vanilla?
Basically, Sponge as a mod will merely provide access to all the hooks, event handlers, and various other API features Bukkit did, but more efficiently, similar to how Spigot tried to innovate on Bukkit itself. In the future, server owners will create a server under basically these principles:
Download Sponge, which will most likely be provided as a fully modified version of the official server jar, ready to go, or as a separate patcher, similar to how Forge is distributed.
Install on given server, and make any necessary config file changes (similar to Bukkit, though the available options, layout, folder structure, etc. are all subject and liable to change).
Should the server run mods? (Biomes O’ Plenty, Applied Energistics, etc.) If not skip to step 8.
Download all required mods, and place them in specified “mods” directory for the server.
Configure mods using individual config files for each mod (either manually through a text editor, or via the graphical editor)
Ensure players have the same mods installed client side.
Start server, ensuring everything runs properly.
Should the server run plugins? (WorldEdit, WorldGuard, PEX, etc) If not skip to step 12
Download all required plugins, and place them in specified “plugins” directory for the server.
Configure plugins using individual config files for each.
Run server to ensure everything functions properly.
Invite players, and enjoy.
EDIT: Even better, on a developer level, it will be much easier for certain plugins to account for mod blocks. Things like Permissions and logging applying to special mod tools, blocks, machines, etc. will be possible.
I’d refer you to this post by @Tux2, which demonstrates how to set up a new plugin with the API that’s available so far. He also links to his build server with pre-built API jars you can reference in your project the same way you would’ve with Bukkit, but you can also build your own jars from the source provided on Sponge’s API GitHub (instructions to do that are included in the GitHub readme)
From that point, you can just kinda toy around with the code to explore what’s part of the API so far. Don’t expect to be able to write any seriously functional plugins for Sponge at the moment though. Good luck!
Thanks for the replys
And now I have understand that it will be so easy to use like bukkit is for the servers.I think i will look at the code and I will spend much much time in it.
[quote=“Riizu, post:3, topic:2617”]
Download Sponge, which will most likely be provided as a fully modified version of the official server jar, ready to go, or as a separate patcher, similar to how Forge is distributed.
[/quote]Could be possible, but more likely they will share the mod with a link to the minecraft forge server jar.
[quote=“Riizu, post:3, topic:2617”]
Ensure players have the same mods installed client side.
[/quote]Not necessarily needed.
[quote=“Riizu, post:3, topic:2617”]
Download all required plugins, and place them in specified “plugins” directory for the server.
[/quote]This is going to be confusing. So far ik plugins will be loaded trough FML, what means they have to be placed in the mods folder.
I don’t think FML will be responsible for loading Sponge plugins, only sponge itself. From what I’ve understood so far, I think Sponge will be responsible for loading it’s own plugins, which would be stored in Sponge’s data directory. Could be wrong, but that would make more sense to me.
It would indeed make more sense if we make a separate folder. But that means we have to write a classloader. The thing is FML is a classloader that works perfectly. Why would we write a classloader, if FML works fine for what we want to accomplish?
I hope FML will give us options to add more load folders, so we can sort out plugins/mods.
@thomas15v in various other attempts, such as Cauldron, this was accomplished with a separate “plugins” directory. Regardless, something like writing a classloader would be a “once and done” affair that is only handled by Sponge. Point being, I do not think it will make much difference, and is hardly a huge concern.
As far as client mods matching server mods, it depends ultimately on what mods. Certain mods, do require it, others don’t. But more often than not, the server will reject connections from those without the mods. Otherwise you run into a Garry’s Mod snafu of “MISSING TEXTURE” everywhere. Right now, Forge by default REQUIRES a mod to be present server and client side, unless the mod is a client-side only change, such as NEI.
Will it allow plugins to create new types of blocks too? like spoutcraft did before it died due to lack of intrest?, because scince this new project has intrest to so many people, maybe it can then fill the void and revive the concept of Spoutcraft, with Normal bukkit, And the modded… combining all into one.
Sponge for Forge (the Sponge Coremod) + Forge itself is what you want:
Bukkit-like features (plugins that don’t break, economy, minigames etc) and all that Forge provides (new blocks, dimensions, items etc)
Theres SpongeVanilla too, SpongeVanilla is somehow like a Bukkit only server:
No new content, just serverside features.
Be aware that Sponge IS NOT and won’t be Bukkit. That said Sponge doesn’t support Bukkit plugins.
There’s a Sponge plugin in development, that tries to bring bukkit to sponge but that’s no official support.
So forge is for modders mostly? I was hoping for the possibility to use Forge mods, and/or use Sponge plugins that will allow players using the Forge client to see custom blocks and items.
use Forge + Sponge on the server with new Content → Clientmod needed
use Forge + Sponge on the server without new content → Vanilla Client can connect
use SpongeVanilla on the server without new content only → Vanilla Client can connect
If Sponge for Forge or Forge itself is used to add content doesn’t matter
New content means: custom blocks, models and items.
As there are currently a few Forgemods that aren’t available for Forge (ex. Worldedit) it can be useful to use a Forge server with Sponge installed. Afaik Worldedit will be ported to Sponge → SpongeVanilla will be able to use Worldedit in the future too.