SpongeStart Gradle plugin

I thought there was only 1.4.3 because of the first post in this thread… Now it works, after switching to version 1.4.5.

I opened an issue for a bug I encountered: https://github.com/Qixalite/SpongeStart/issues/11

And: Although Many libraries downloaded by the Forge installer fail(HTTP response code 403), the server starts up normally. Do other experience the same?

The forge installer is a bit strange on that. But it is 100% oke.

Also sorry for the poor issue handling, I am kinda busy these days :frowning:.

@thomas15v I don’t know if you’ve seen what @DemonWav is working on, but I can imagine that adding some integration of SpongeStart into the IntelliJ plugin would be neat considering it’d be the one stop shop to starting plugin development and getting a test server set up in IDE.

Reference to the MinecraftDevIntelliJ plugin: Minecraft Dev for IntelliJ

3 Likes

Interesting. Packaging this in a idea plugin could allow a less hacky way to start the actual server jars:

(it’s far from optimal tho).

Yeah, it creates a run configuration for building automatically. A run config for debugging would be cool too, but I want to make that as a separate build configuration type, for quality of life reasons for the user.

One thing, you may want to set the context classloader as well before you start the server, it may save you from headaches down the road.

If we integrated this into the plugin it may make it a little less hacky (or more lol!).

I have been looking in trying to figure out how to make custom run configurations in idea. I don’t know how to do it yet. But I do know we need something like this:

  1. Compress all the resources of the plugin to bootstrap.jar and copy bootstrap.jar to plugins/mods folder (specified in the configuration screen)
  2. Add the server.jar to the classpath (so it runs like this java -cp {modulestuff};.run/server.jar {main class})
  3. Set the main class to what is specified in server.jar
  4. run the configuration
  5. profit!

This run configuration would work for bungeecord, sponge, bukkit and paper. Not for forge tho, but that isn’t needed.

Is there any way I can tell the SpongeStart plugin to use the latest 1.8.9 version of Sponge?
Edit: Nevermind. I just realised I need to use the build number.
Edit 2: The plugin downloads the 1.9 Forge installer instead of the 1.8 Forge installer.
Edit 3: The plugin downloads build 1891 (1.9) instead of 1890 (recommended for the 1.8 Sponge build I chose).
Edit 4: Using version 1.4.6 fixed my last issue. Is there any way you could place the latest version number? I didn’t even know 1.4.6 was a thing.

Sorry forgot to update the gist.

I have a suggestion: An option that automatically sets the max-tick-time in server.properties to 0 which is “infinite”. This prevents that the server watchdog crashes the server if you are debugging too long.

2 Likes

I have a plugin that I’m making, and I’m using this plugin to test it (Easier than having to copy the compiled jarfile over to a local server). The problem I’m running into, is that I need to use native code to make the plugin work, but when I use StartServer, it doesn’t take into account the fact that the references to native classes have to be reobfuscated, and so at runtime, it throws NoSuchFieldErrors when it reaches the code that uses native classes.

I think that’s a issue with SpongeGradle or ForgeGradle.

If i compile the jarfile, and manually move it over to a test server, rather than using SpongeStart, it works fine. This is with the same buildscript, it’s almost definitely something with SpongeStart

Wow, I didn’t know that reobfuscating works with native code. You mean like C?

By native, I mean minecraft code. I’m working around the incomplete Inventory API, and when I try to test my plugin with SpongeStart, it doesn’t reobfuscate properly, and like I said, NoSuchFieldErrors

2 Likes

@thomas15v

Using version 1.6, Gradle 3.1 and only set eula to true(didn’t specify which minecraft/sponge version) it crashes on server startup. I think it is an issue with this plugin.
http://pastebin.com/cgnxBDzn

Did you ever get this to work again? I’m considering using this but seems like the dev as abandoned it?

Yes, this is my standard server startup method with hot reloading: Change launcher to Idea's jar launcher · Issue #4 · Qixalite/SpongeStart · GitHub

If you have questions, ask, it isn’t very clear I think :wink:

2 Likes