Skip to content

Development Environment

FrozenFOXX edited this page Feb 8, 2020 · 1 revision

Arganium has been designed to be easy to build and modify. This guide will help you get started with a development environment and the general workflow.

Requirements

Linux

Generally a distribution of Linux is strongly recommended. Most of Arganium's development was performed on Ubuntu and it is recommended. That said any distribution or even other operating systems should have no problem running Arganium as long as they meet all the software requirements above.

Ruby

The first order of business is to get a functional installation of Ruby. If you choose you can use a system Ruby installation, rbenv, or something custom but RVM is recommended because of its ease of setup and excellent support. For up to date instructions please follow the guide but the following should normally work:

  • curl -sSL https://get.rvm.io | bash -s stable --ruby
  • rvm install 2.2
  • rvm use 2.2 --default
  • rvm gemset create rails5.0
  • rvm gemset use rails5.0
  • gem update
  • gem install bundler
  • gem install nokogiri

Nokogiri is a dependency for many other gems and may require Ruby Libraries to be installed. On Debian this is the ruby-dev package.

Rails

Now that you have a functional and flexible Ruby environment set up, it's time to install Rails.

  • gem install rails
  • Verify installation with rails -v
  • cd <repobase>/gloom
  • bundle install

Zandronum

A 3.0+ build of Zandronum is required. These can be found under the Download area of the official Zandronum site.

  • Download the archive for your platform.
  • cd /opt
  • mkdir zandronum
  • cd zandronum
  • tar xvjf <path to downloaded archive>
  • Edit your .bashrc to place /opt/zandronum into your PATH variable.

Game WAD

Naturally you're going to need a game WAD. Once you have a game WAD you wish to use, enter the following:

  • mkdir ~/.zandronum
  • cp <path to game wad> ~/.zandronum/<game>.wad

Launching

At this point you should have a development environment ready to work with. If you encounter problems please log an issue with details. The average workflow for each component of Arganium is typically the following:

  • Certain: Certain is a Ruby program and can be run directly from <repo>/certain/bin/certain.rb. Example scripts for launching the Certain wrapper and the client are located under <repo>/certain/examples.
  • Gloom: Gloom is a Rails application and launching it is like many others.
  • cd <repo>/gloom
  • ./setup
  • ./setup <config.yml generated>
  • SECRET_KEY_BASE=$(rails secret) rails server -b 0.0.0.0
  • Clients: web clients need only connect on the default port for the Rails Server (typically 3000 in development) with a standard web browser. Zandronum clients need to launch Zandronum with the arganium.pk3 and the level being used. An example script for how to do this is provided in <repo>/certain/examples/.
Clone this wiki locally