• Stars
    star
    153
  • Rank 243,368 (Top 5 %)
  • Language
    Java
  • License
    Apache License 2.0
  • Created over 11 years ago
  • Updated 4 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Terasology Launcher is the official launcher for the open source game Terasology.

Community | Installation | Features | Troubleshooting | Development | Acknowledgements | License

Terasology Launcher is the official launcher for the open source game Terasology. It provides easy access to the different game versions and build types. Terasology and related projects are developed by a group of software enthusiast volunteers under the organization name MovingBlocks.

Community

If you want to get in contact with the Terasology community and the whole MovingBlocks team, you can easily connect with us, share your ideas, report and solve problems. We are present in nearly the complete round-up of social networks. Follow/friend us wherever you want, chat with us and tell the world.

 

                                  

Installation

  1. Download the corresponding archive for your platform from the latest release
  2. Extract the archive to the path where the launcher should be installed
  3. Start Terasology Launcher
Operating System Executable
Windows TerasologyLauncher.exe or bin/TerasologyLauncher.bat
Unix, Linux, Mac OS X bin/TerasologyLauncher

Features

The launcher installation directory is the folder you extracted the launcher archive into. This directory will also hold different versions of Terasology that are installed via the launcher.

On first start-up, the Terasology Launcher will prompt you with the selection of the Terasology data directory. The data directory is the place for configuration data and user-specific files such as key bindings and save games. The suggested default is a new directory in the user's home directory.

Terasology Launcher UI

The Terasology Launcher UI provides functionality to download, start, and delete different game versions. The game versions are grouped by the type of build they belong to:

Build Type Explanation
Terasology Released version of Terasology core game bundled with modules
Terasology Lite Released version of Terasology core game only

In addition to this main functionality, the UI displays information about new changes of the selected game version ("Changelog"), launcher information concerning changes, licensing and contribution guidelines ("About"), and logging data for the current launcher execution. Further, you have access to the social media representation of Terasology.

Terasology Launcher Settings UI

The settings view enables you to open the launcher installation, game installation and data directories for quick access. You can configure the memory settings for the game and even specify additional Java or game arguments as well as the logging level for the game. Please note, that the "Initial Game Memory" and "Maximum Game Memory" settings only apply to the game itself. The actual resource consumption may be higher due to additional resources required by the Java Virtual Machine (JVM).

The remaining settings can be used to configure the launcher. You can set the launcher language and decide whether the launcher should search for updates, close when a game is started and save downloaded game package files.

Troubleshooting

Find below common issues you may run into and how to resolve or work around them. If you cannot find help for an issue you might be facing, please open a GitHub Issue including the information available in the "Logging" tab.

⬇️ Download Issues

An indication of a download issue is the download starting but at some point suddenly stopping / failing. First information about the failure can be found in the "Logging" tab. The most common indicator you'll see there is a log message similar to "request timed out".

Downloading Terasology via the launcher can fail for multiple reasons including:

  1. GitHub being unavailable
  2. the Terasology artifact being unavailable
  3. your internet connection being slow
  4. something on your computer or in your network slowing down the download

To check whether GitHub is available, please refer to https://www.githubstatus.com/.

To check whether the Terasology artifact is available, please go to our Terasology release page and look for the version you were trying to download. You should find it at https://github.com/MovingBlocks/Terasology/releases/tag/v<version>, for example, https://github.com/MovingBlocks/Terasology/releases/tag/v5.3.0. At the bottom of the release information below the changelogs, there should be an "Asset" section. If this section includes a TerasologyOmega.zip file, the Terasology artifact is available. If not, please open up a GitHub Issue or inform us about this on Discord.

If the Terasology artifact and GitHub are available, but your download timed out, this is likely due to a slow internet connection or something on your computer or in your network slowing down the download. In this case, you can either try to hunt down the issue yourself or try to work around the issue manually

Manual Download Timeout Workaround

You can work around the launcher's timeout logic by downloading the Terasology artifact manually.

Workaround steps:

  1. Download the desired Terasology artifact from GitHub: https://github.com/MovingBlocks/Terasology/releases/download/v<version>/TerasologyOmega.zip
  2. Extract the artifact (zip archive)
  3. Rename the archive
    For stable releases to terasology-omega-<version>-stable.zip, for example, terasology-omega-5.3.0-stable.zip
    For nightly and pre-releases to terasology-omega-<version>-nightly.zip, for example, terasology-omega-5.3.0-rc.2-nightly.zip
  4. Copy the renamed archive into the cache directory located in the launcher managed directory
    On Windows: C:\Users\AppData\Roaming\TerasologyLauncher\cache
    On Linux/Unix: /home/<user>/.terasologylauncher
  5. Start the launcher and select the version you downloaded the artifact for, click on the download icon (⬇️) and wait for the download to complete. This should happen quickly as the launcher should use the already downloaded Terasology artifact from the cache.
    On completion the download icon (⬇️) should turn into a play icon (▶️)
  6. Click on the play icon (▶️) to start Terasology

Development

To be able to run TerasologyLauncher from source follow these steps. This guide is designed for IntelliJ IDEA (you can use the free community edition), but alternative setups are possible.

:octocat: Get Ready

To contribute to this repo, please open a pull request from your fork of this repository.

For more information on building and developing the Terasology Launcher, make sure to read the rest of this README and CONTRIBUTING.md.

Requirements

You'll need the following tools:

  • Java SE Development Kit (JDK) 11. It should be possible to use a later version of the JDK for local development, please see the definition of push validation for the exact CI setup.
  • Git to clone the repo and commit changes.

Development is possible on all common platforms (Windows, Linux, MacOS).

🤓 Start developing

Familiarise yourself with Git's concept of repositories, branches, and commits. To get the latest changes from remote repositories you need to fetch all remote data via git fetch --all. This does not change your workspace, it just loads up your local Git database.

Apart from Git, basically everything can be done using the Gradle wrapper. The following list is an excerpt of some commonly used tasks.

Command Description
gradlew build Compile the source code, run tests and build a JAR.
gradlew install Create a local runnable installation (placed in ./build/install/TerasologyLauncher).
gradlew run Build and run the launcher.
gradlew createRelease Create a local development release (located in ./build/distributions).
gradlew tasks Display other available build script tasks.

Assume you have pushed some changes to your fork into a branch myFeature. In order to let us know about your work and give us the possibility to incorporate your changes you should send us a pull request. You can do this by selecting the myFeature branch on your GitHub repo and click the button which says "Open pull request".

More information on how to contribute can be found in CONTRIBUTING.md. Remember, that all submissions must be licensed under Apache License, Version 2.0.

🎏 Translation

If you want to contribute by translating the Terasology Launcher to a new language or by improving an existing translation check out the Translation Guide.

📚 Related Resources

Tutorials and further information on Git:

Developer setup tutorials for our main project, Terasology:

Acknowledgements

Terasology Launcher is driven by its contributors!

This project uses

License

Terasology Launcher is licensed under the Apache License, Version 2.0.

More Repositories

1

Terasology

Terasology - open source voxel world
Java
3,549
star
2

DestinationSol

Official continuation of Destination Sol, the great fun little arcade space shooter from http://sourceforge.net/projects/destinationsol/ Modules live at https://github.com/DestinationSol/
Java
312
star
3

box2d-editor

Automatically exported from code.google.com/p/box2d-editor - migrated here to maybe maintain together with Destination Sol. Original website:
Java
76
star
4

GroovyJenkins

An assortment of utility scripts meant for Jenkins to help automate itself
Groovy
29
star
5

gestalt

A family of libraries providing a variety of core capabilities for use by games and game engines.
Java
25
star
6

DevlogTemplate

Template for a Devlog based on Jekyll served via GitHub pages.
JavaScript
20
star
7

TeraBullet

An extended version of JBullet offering integration for voxel worlds. Automation category: Terasology Library
Java
16
star
8

legacy-website

Terasology's "splash site" hosted as a GitHub Page. On the page you can download Terasology, view related videos, go to the forum, etc.
HTML
15
star
9

TeraMath

Experimental standalone math and stuff. Automation category: Terasology Library
Java
13
star
10

JNLua

Fork of JNI-based Lua scripting language integration for the JVM
Java
12
star
11

WorldViewer

A world-generator based map viewer for Terasology
Java
12
star
12

Kallisti

Library for embedding fantasy computer virtual machines in game engines.
Java
9
star
13

JNBullet

SWIG
8
star
14

Gooey

Just your friendly #terasology IRC bot :-)
CoffeeScript
7
star
15

CrashReporter

A little utility for making crash reporting easier from different projects. Automation category: Terasology Library
Java
7
star
16

TeraOVR

TeraOVR is a minimalistic wrapper for the Oculus SDK so it can be used in the context of Terasology.
C++
6
star
17

groovy-wrapper

Groovy Wrapper extension for the Gradle Wrapper - execute Groovy scripts as easily as Gradle scripts!
Shell
6
star
18

TeraMisc

Support repo for Terasology - for stuff we don't want to keep in the main repo
Java
6
star
19

TerasologyDocs

Python
5
star
20

movingblocks.github.com

Terasology's Homepage hosted as a GitHub Page. On the page you can download Terasology, view related videos, go to the forum, etc.
JavaScript
5
star
21

AdventureSite

The Adventure Site is a web app that provides Terasology’s various documentation resources to new contributors in a conversational form. This “Tutorial Journey” or “Adventure Site” supports new contributors to find suitable resources based on their contribution interests. A user can navigate by conversing with the Gooey and Gooey helps the user to learn more about the projects. Gooey helps the user to access the resources in a sequential order, which helps the user to study all possible resources related to that particular path.
JavaScript
5
star
22

FacadeApplet

A facade to the Terasology engine that wraps it to run as an applet
Java
4
star
23

docker-terasology

terasology docker file repo
Dockerfile
4
star
24

meta-server

A servlet environment that serves Terasology meta information.
Java
4
star
25

TeraNUI

Terasology's New User Interface
Java
4
star
26

FacadeServer

A headless facade that acts as a game host and provides web-based administration. Automation category: Terasology Facade. See https://forum.terasology.org/threads/facadeserver-headless-server-with-web-interface.1906
Java
4
star
27

BlenderAddon

Python
3
star
28

TerasologyDevKitPlugin

A Intellij Plugin for help Terasology developing
Kotlin
3
star
29

FacadeAWT

A facade showing the game in a pure 2D version using AWT rather than LWJGL
Java
3
star
30

TeraConfig

Contains configuration files for Terasology-related repositories
2
star
31

TracyJavaBindings

Java Bindings for the Tracy Profiler
C++
2
star
32

terasology-key-server

Prototype for Terasology identity storage server (http://forum.terasology.org/threads/client-identity-cloud-storage-service.1846/#post-14953)
PLpgSQL
2
star
33

GooeyJr

Next round of development on Gooey, our chatbot based on Hubot
CoffeeScript
2
star
34

TerasologyJavaLauncher

Source for an older style executable used to run the actual game. Discontinued in favor of more plain game execution directly via Java or by using the TerasologyLauncher app with its embedded JRE
C
2
star
35

DialogEditor

A web-based editor for in-game dialogs (with NPCs)
CSS
2
star
36

FacadeServer-frontend

Web and mobile front-end to Terasology's FacadeServer (https://github.com/MovingBlocks/FacadeServer)
TypeScript
2
star
37

SplashScreen

A library that provides splash screen implementations.
Java
1
star
38

TerasologyJRE

Repository for packaging an embedded JRE for our apps
1
star
39

DestSolAndroid

Android facade for Destination Sol
Java
1
star
40

TempDoc

Just a temporary doc related repo for experimenting and housing a backup of the engine wiki repo while overhauling it
1
star
41

JenkinsAgentPrecachedJava

A Jenkins agent for building Java projects with some caches pre-filled
Dockerfile
1
star
42

ModuleManager

Package manager style library project for organizing Terasology modules
Java
1
star