Maintenance TerasologyLauncher - official Terasology Launcher

MrBarsack

New Member
Contributor
Logistics
  • Moved to Incubator, added link to old launcher (Cervator)
  • Added incubator header and updated first post info (Skaldarnar)
  • Added mkalb as curator. Updated jenkins links (Skaldarnar)
  • Moved to Core projects. Updated info. Updated curators. Updated links. (Skaldarnar)

Name: Terasology Launcher
Summary: The official launcher project. The launcher provides easy access to updating/downgrading the game and allows to switch between different build versions and branches.
Scope: Side Project
Current Goal: Version 2.0.0 (JavaFX + Java Web Start)
Phase: Maintenance
Curator: Skaldarnar, @msteiger, mkalb, MrBarsack
Related: GitHub, Jenkins, Wiki
History: old launcher thread, beta thread


-----------------------------------------------------------------------------------------------------------------
Terasology Launcher

Features:

The Changelog file contains a list of all implemented features so far. There are probably more, but the most important ones should be listed.

Planned & TODO:
2.0.0
* detect offline mode
* improve handling of download, download interruptions, ...
* check hash sums after download
* migrate from Swing to JavaFX
* set up Java Web Start
later versions
* incremental launcher updates
* bundle the JRE
* module management
* improve GUI
* backup game data

-----------------------------------------------------------------------------------------------------------------​

Download:
The recommended version to use is always the latest official release, which can be found under the link above. A list of previous releases can be found here. If you want to help testing the latest changes there are the nightly builds on Jenkins.
Installation & Usage:
The GitHub Wiki pages contain detailed information on how to get started with the launcher. Please follow the link above. If you have any problems, there is something missing in the Wiki, or you have suggestions for improvements just let us know.​

Code:
The project is hosted on GitHub - side by side with the other MovingBlocks projects. If you want to contribute to the launcher get there, read the wiki, raise some issue, and sent us pull requests. We are happy to see new people on board!
-----------------------------------------------------------------------------------------------------------------
If you have any suggestions, feel free to post them here ;) If you find bugs or have any other issues, please use the issue tracker at github.​
 
Last edited by a moderator:

Cervator

Org Co-Founder & Project Lead
Contributor
Design
Logistics
SpecOps
Very nice! Worked great! We badly need this :D

Lots of possibilities for additions. Here are a few:
  • Allow user to set min/max Java memory settings before launching the game
  • Wrap jar in OS-specific launchers (Windows .exe, bash script, etc) that can auto-install Java if needed (kinda like we wrap Terasology itself - short the auto-Java install)
  • Allow passing some simple options to the game like starting without sound enabled or maybe with a specific log level enabled. Of course, we might need to enable some command line flags to make that possible, heh
Would you like to take over work for an official launcher or just keep this as an enthusiast launcher?
 

MrBarsack

New Member
Contributor
Logistics
Thanks ;)

Allow user to set min/max Java memory settings before launching the game
Will be added in V3 :) More settings later.

Wrap jar in OS-specific launchers (Windows .exe, bash script, etc) that can auto-install Java if needed (kinda like we wrap Terasology itself - short the auto-Java install)
Good idea, but how?

Don't have experience with batch etc.

Allow passing some simple options to the game like starting without sound enabled or maybe with a specific log level enabled. Of course, we might need to enable some command line flags to make that possible, heh
There will be a settings menu where you can choose between "nightly" and "stable". This could be there too.
Would you like to take over work for an official launcher or just keep this as an enthusiast launcher?
As an official launcher :)
 
Wrap jar in OS-specific launchers (Windows .exe, bash script, etc) that can auto-install Java if needed (kinda like we wrap Terasology itself - short the auto-Java install)​
Good idea, but how?

Don't have experience with batch etc.
Maybe I can help with the batch. I've used .bat files to start my HTML programs. Just start cmd and type the HELP command to get a list of commands that you can use.
 

Skaldarnar

Development Lead
Contributor
Art
World
SpecOps
Nice work!
I will have a look at it frequently as well if you want :D
 

MrBarsack

New Member
Contributor
Logistics
V3 is out!

Changes:
-Linux-fix
-new GUI
-Bugfixes
-New changelog
-Settings (You can't choose between nightly and stable yet!)
Btw, I've tested launch4j... it always crashes. I don't understand it :D
 

Cervator

Org Co-Founder & Project Lead
Contributor
Design
Logistics
SpecOps
Yay progress! Boo on L4J crashes, that seems such a good candidate. Got any log entries or clues as to why?
 

Immortius

Lead Software Architect
Contributor
Architecture
GUI
I used Lauch4J for Footbrawl Quest, and it worked well there. There are a couple of different ways of setting it up though. Our current exe is actually a Launch4J launcher.
 

MrBarsack

New Member
Contributor
Logistics
Okay, I've tested it again, now it works. :D

But there is only an exe file. What about Linux and Mac OS?
 

Immortius

Lead Software Architect
Contributor
Architecture
GUI
I'm not aware of an equivalent for those. I guess the best option is to use a launch4j launcher wrapped around your launcher for windows, and your launcher directly on other platforms.
 

Cervator

Org Co-Founder & Project Lead
Contributor
Design
Logistics
SpecOps
Not to invoke stereotypes or anything but as long as it works the easy way on Windows those on Linux or Mac are probably wise enough in the ways of computers to figure it out themselves anyway ;)

Edit: V3 tested, works fine and yay Java arguments :)
 

Skaldarnar

Development Lead
Contributor
Art
World
SpecOps
Yeah, I peered at it for a longer time, but now I got the time to work on it.... :) And I can use what MrBarsack already has done, so that part could be a little easier. :)

Cervator:
Although, I am not sure about the license stuff - I had the sputcraft launcher project open for reference, it was good for the structure and the main GUI layout, but I tried not to copy whole classes and stuff.. In the case a class or method was copied, how would I quote that right? I know there are some license differences, at least we have to wait for 180 days to push it to MovingBlocks :barefoot:
 

Cervator

Org Co-Founder & Project Lead
Contributor
Design
Logistics
SpecOps
Oh okay, so maybe that was what I saw Wulfspider reference on IRC - I got to that conversation late.

I think he mentioned some of their launcher stuff possibly use a more permissive license (I'd need to check) although it wouldn't necessarily be all that useful in a non-Minecraft setup like ours. In theory to copy a class you'd include the entire license header and such from theirs (and possibly include a whole license file somewhere in the repo), and under some circumstances you'd need to make sure the code was at least 180 days old, yeah. Probably a fair bit easier to just be inspired by it instead of copy pasting if it is not too much :)
 

Cervator

Org Co-Founder & Project Lead
Contributor
Design
Logistics
SpecOps
I looked, but no zip file for lazy people? :D

I read through page two of the German thread about it too. I'd just copy paste the Gradle setup for Terasology, including the idea target, and make adjustments. We could even build it out of Jenkins that way. And you've got mkalb on board so he could probably do it in five minutes :)

With an easy IntelliJ setup akin to the primary project here it might also be easier to collaborate :geek:
 

Skaldarnar

Development Lead
Contributor
Art
World
SpecOps
Okay, now it comes with a little gradle script, and the wrapper copied from Terasology ;)
Just clone the repo like you do for TS and run "gradlew idea" or something ...
 

Josh

Member
Contributor
Hunter
Oo something I could work on to get better at GUI :) along with Miniion's too of course. :) Just been busy this week, but free now since I'm off for a week
 
Top