Skip to content

Full Workspace Setup

Rasmus Praestholm edited this page Mar 6, 2022 · 10 revisions

Full Workspace Setup

The Destination Sol engine (and core module) repository at https://github.com/MovingBlocks/DestinationSol is the heart and central workspace of most things Destination Sol.

Setting up our workspace is a fairly easy process:

  • Git clone from GitHub to some location on your computer
    • See GitHub or Google for various Git tutorials. In short you'd clone with git clone https://github.com/MovingBlocks/DestinationSol.git into a local workspace directory
  • Run gradlew once in the root of the chosen directory via command prompt / terminal

Note for macOS/Linux users


For macOS/Linux, the gradlew and groovyw commands must start with ./ e.g.

  • ./gradlew instead of gradlew
  • ./groovyw instead of groovyw

That's it, really! You should now have a fully-functioning game workspace.

Requirements

Okay, you might want a little more than that. The only mandatory requirement is a Java 8 SDK (JDK) which you either download from Oracle or get via OpenJDK/Adoptium.

Note


Using OpenJDK has a slightly higher risk for encountering common issues.

Beyond that you might want an IDE and some IDE plugins. Maybe even a tool like YourKit to help profile game performance. But everything else really is optional!

Most of our automation and project setup happens through Gradle which the gradlew script downloads a version of if needed. The initial gradlew execution will download all project dependencies (Maven style - downloading half the internet). Just give it a while.

Run game from source

As long as you have the code and Java 8 you can run the game from source simply with gradlew run

Any problem encountered at this point is usually from Java not being configured right, such as having an older (or too new) version as your default Java.

Asking for help


If you have any further issues, feel free to ask at the #destination-sol channel on the Terasology Discord (link). Discord isn't necessarily instant communication, so it may take a while to get a reply.

We also have a Destination Sol Forum for very long posts - this isn't anywhere near as active as Discord. You might not get a response there for a long while.

Extra modules

The rest of our modules can be found under the DestinationSol organisation on GitHub.

For fetching those modules, we've created the groovyw tool. You can add a module into your workspace using groovyw module get <module>, for example

groovyw module get warp

Once that's done the module is all ready to use. If you're looking to create your own module, see Initialising a module.

IntelliJ

Running from command line is good and fine and some enjoy simply working in a plain text editor. For those preferring a full integrated development environment (IDE) we recommend IntelliJ

To get started, open IntelliJ and select the Open option. Then point it at your workspace directory. The project should be imported into IntelliJ, allowing you to get started right away.

Some versions of IntelliJ may show an Unlinked Gradle project? pop-up. If this happens, click on Import Gradle project.

Git

We use Git for source control, however going deeper into the details of using Git is outside the scope of this wiki. Please see the excellent resources on GitHub for more, such as their bootcamp series.