ArenaSH Launcher is a small app that registers the arena://
url protocol with your operating system, so you can join servers directly from the server details page.
It doesn't require any of admin rights to install and run. Tested to be working with Firefox and Chrome for Windows/MacOS/Linux.
If you want to build installers manually, please follow the build instructions below for the particular platform.
Run the installer and follow the steps.
When the installation dmg is mounted, just drag & drop Arena app to Applications/
directory as shown.
Double click on .run file, and choose "Open with Terminal" to execute setup. Alternatively, you can call $ sh <installer>.run
from the terminal. If you dont' have the python-tk package, install it by typing the following for Ubuntu distributions:
$ sudo apt-get install python-tk -y
Visit any server page and click JOIN at "Launcher" tab.
For each platform, arena://
url protocol is registered with the app. When the player clicks the JOIN link, it passes server address and hash of the launch command at the join page. Then, launcher requests the command again, compares the hash, and runs it.
If the universal zip of the game is available for the user's platform, launcher asks for confirmation, showing the size of the download first. Zip is only requested from official links published by the game's development team. After downloading, files are automatically extracted to %userprofile%\games
for Windows, /Applications/games
for OSX and ~/games
for Linux,. No further action is taken after the extraction. In case you want to backup the downloaded zip, you can refer to the /tmp/
(may vary for Windows) directory. While the exact location of the download is printed, it's likely that file will be removed later by the OS to gain space.
Installations notes are mostly for Linux users where dependencies should also be installed in order to run the game properly. It suggests few apt-get hints about how to make it work as expected. Second run will always attempt to run the game.
When a game is not found, app will provide both the download and choose path options. User can choose the secondary option to pick a custom path of the game. In that case, a symlink/junction will be created under games
directory of the user with naming of arena-sh-<gamecode>
. While this link represent the location of the selected directory, you can also unlink safely by deleting it.
ArenaSH launcher is completely open-source and requires no admin rights. It actually consists of few hundred lines of Python. Launch commands are hash checked when requested from server, so users always run what they see. All games listed in the platform are also open-source. For private servers, passwords are replaced by launcher utilizing the TOKEN_HERE
placeholder, so it never reaches to the platform.
Those are false positives but please feel free to open an issue if you discover one. While app already covers most of the popular anti-virus software already, we will continue to submit the launcher to rest. Also remember that you can always build the launcher yourself without downloading (see build instructions below).
Requirements:
- python 2.7.16+
- cx_freeze
- nsis
After installing above, just run build_win.bat
. Installation file will be created in release/win
directory.
Requirements:
- xcode command line tools
- actual xcode is not required
Run ./build_osx.sh
. Both .app
and .dmg
releases will be created atrelease/linux
directory. You only need to move the .app
file around (preferably to Applications/
) to make Finder detect the custom url protocol.
Requirements:
- apt packages: python-pip python-tk zlib1g-dev
- cx_freeze (using pip install)
Run ./build_linux.sh
. Self extracting run
file will be created at release/linux
directory
Please report any bugs related to the launcher at issues page.
While developing at OSX (preferred dev platform) you can use --dev
parameter during build so dmg won't be created but the app will be bundled only. To force the system to detect updates, you should delete your existing launcher in /Applications
directory, and select/rename the one in release/
to make Finder aware of it.
GPLv3 - some assets are excluded, see LICENSE file complete information.
Build tools included:
create-dmg - MIT
dmg-license - MIT
makeself - GPLv2