Making SpongeStart works

Hi! For debug purposes I’m using the SpongeStart2 plugin
https://github.com/ImMorpheus/SpongeStart

Since on GitHub the project seems dead, I would like to ask if anybody can make it works, since the “startForgeServer” task is broken for me and I don’t know how to configure it. Or, even better, if you have an alternative way to start a local server and be able to set breakpoints in the code to proper debug the plugin

Hi, SpongeStart2 was a program that took the offical way of making a local forge development environment for Sponge and attempted to streamline it. The offical way still works.

https://docs.spongepowered.org/stable/en/plugin/internals/mcp-setup.html

If you are wanting it for just debug purposes then you can also use a feature in the IDE intellij idea called “java application” which is a run option, which you can choose to run the sponge server and also build the plugin within the servers mod folder. By running in this way with debug mode on, it will give you debug access to your plugin on your server, however … it is still a server and therefore clients tend to drop out due to connection loss if a breakpoint is stopped on for too long. So use the way listed above unless you are still struggling (or dont want to download anything assuming you have IDEA). PS this second way works on other platforms as well if you wish to test your other projects

Didn’t know there actually was an official way of doing this. So, I’ve setup the build.gradle file accordingly, but now how should I set the run configuration to launch the server?

This is the build.gradle file I’m using

buildscript {
    repositories {
        maven {
            name = 'forge'
            url = 'https://files.minecraftforge.net/maven'
        }
    }

    dependencies {
        classpath 'net.minecraftforge.gradle:ForgeGradle:2.3-SNAPSHOT'
    }
}

plugins {
    id 'org.spongepowered.plugin' version '0.9.0'
    id 'net.minecrell.vanillagradle.server' version '2.2-6'
}

group = pluginGroup
version = pluginVersion
sourceCompatibility = 1.8

dependencies {
    compile 'org.spongepowered:spongeapi:7.2.0'
}

minecraft {
    version = '1.12.2'
    mappings = 'stable_39'
}

sponge.plugin.id = pluginId

That looks like the dependancies weren’t built. Did you just enter the detail into the gradle script and leave it or did you run “gradle dependencies” - which refreshes the dependencies (if you are on Intellij a small green play button will appear next to dependencies which does the same thing)

I did the dependencies and the setupDecompWorkspace tasks. Now when I try to run It says it can’t found main class net.minecraft.server.MinecraftServer, besides now the run configurations has no errors

make sure you also run

gradle idea

which is the setup task for the Intellij idea platform

After that you download the server using the following command

gradle downloadServer

I don’t see any idea task for some reason. I’m using the Minecraft Development Plugin for IntelliJ. The only task I see you mentioned is the downloadServer one, which I run but the server still doesn’t launch :confused:

To launch the server you would use

runServer

Just found out that the official command is

genIntellijRuns

For some reason I don’t have that command XD

Heres the wiki

I don’t have any of both tasks in IntelliJ and if I try to run the genIntellijRuns task it says it doesn’t exist in the project root. Could it be because I used the IntelliJ plugin to create the project and not manually setup everything (as suggested by the documentation)?

While the minecraft dev plugin does a lot, i believe the only thing differently when setting up projects is have the gradle/maven details already inserted. So it shouldnt be that.

I didnt realise you were clicking the gradle tasks instead of running the command. The “idea” command is in the “other” tab, not the environment tab

Actually I run the gradle command from the project root, where the build.gradle file is, and it says there’s no task. I’m also looking into the “other” tab of the Gradle tasks and is not there either