Junethack is a server for holding tournaments for the roguelike game NetHack and its forks.
This server collects data from several external public servers and show achievements and trophies for the participating players.
Needed pre-installed software
- ruby 2.3.3
Clone the repository:
git clone https://github.com/junethack/Junethack.git junethack
Install the Ruby interpreter. Example using RVM:
\curl -#L https://get.rvm.io | bash -s stable source ~/.rvm/scripts/rvm rvm install `cat junethack/.ruby-version`
Install all required rubygems:
cd junethack bundle install
Start the server
Setting up the server for a new year
Update the year in the following files
Go through the list of servers and variants and add new ones and remove old ones.
Archival of a finished tournament
Use httrack to make a static copy of the website:
# httrack http://127.0.0.1:4567 -O /tmp/junethack_mirror '+https://www.gravatar.com*' '-127.0.0.1:4567/archive/*' -%v # mv /tmp/junethack_mirror/127.0.0.1_4567 public/archive/2020 # cp /tmp/junethack_mirror/www.gravatar.com/avatar/* public/archive/www.gravatar.com/^C # sed -i "s/<a class='logo' href='index.html'>/<a class='logo' href='\/'>/" public/archive/2020/*.html # find public/archive/2019/ -name \*.html -print0 | xargs -0 sed -i "s/href='http:\/\/127.0.0.1:4567\/archive\//href='\/archive\//" # git add public; git commit public -m 'Archival of 2020 tournament'
Edit the archive links to the previous Junethack tournaments in public/archive/2020/index.html. Also add a link to the the new Junethack archive in views/splash.haml.
Add and commit the repository.
TODO: more documentation, distinction prod/dev env, maintenance mode, manually fetching games, dummy users