simon987 / Much-Assembly-Required

Assembly programming game
GNU General Public License v3.0
930 stars 87 forks source link
assembly game mongodb websocket x86-16

Much-Assembly-Required

CodeFactor Build Status

Much Assembly Required allows you to program the 8086-like microprocessor of a robot in a grid-based multiplayer world. The game is web based so no installation is required. In its current state, players can walk around the game universe and collect Biomass blobs and Iron/copper ore using the online code editor.

screenshot from 2017-11-12 13-01-43

Wiki: GitHub Chat: Slack

Deploying the server

Linux

Installing tools

On Ubuntu 16.04:

sudo apt install git maven openjdk-8-jdk mongodb

On Arch:

sudo pacman -S git maven jdk8-opendjk
yay -S mongodb-bin

# Don't forget to start mongodb
sudo systemctl start mongodb.service

If needed, visit yay installation and troubleshooting mongodb.

Deploying server

# Obtain source files
git clone https://github.com/simon987/Much-Assembly-Required.git

# Build
cd Much-Assembly-Required
mvn package

# Run
cd target
java -jar server-1.4a.jar

Windows (tested on Windows 10)

Installation instructions:

  1. Download the JDK from here. Install the JDK and update your PATH and JAVA_HOME environment variables.
  2. Download Maven from here. Install Maven (following the README) and update your PATH environment variable.
  3. Download Mongo DB Community from here. Install Mongo DB following the instructions here. Update your PATH environment variable.

Building instructions:

:: Builds the server
cd Much-Assembly-Required
mvn package

Running instructions:

  1. In one Command Prompt window, run Mongo DB:
    :: Runs Mongo DB
    mongod
  2. In a second Command Prompt window, run the MAR server:
    :: Runs the MAR server
    cd Much-Assembly-Required\target
    java -jar server-1.4a.jar

macOS (tested on Sierra 10.12.6)

Installation

  1. Install Maven3 -Add Maven bin to your path
    export PATH=/path/to/maven/bin.:$PATH
  2. Install MongoDB. -Via Brew:

    #Update brew
    brew update
    
    #Install mongodb
    brew install mongodb
    
    #Install latest development release
    brew install mongodb --devel

    -Via .tar.gz

    #Extract files:
    tar -zxvf mongodb-osx-ssl-x86_64-4.0.3.tgz
    
    #Ensure binaries are in your path
    export PATH=<mongodb-install-directory>/bin:$PATH

    If you do not wish to use the default data directory (/data/db), follow the steps for running MongoDB in the install doc.

Deploying Server

  1. Begin MongoDB service

    #If brew:
    #Launch on login
    brew services start mongodb
    #Or, if you don't want/need a background service you can just run:
    mongod --config /usr/local/etc/mongod.conf
    
    #If binary:
    mongod
    #Optional, set data directory path:
    mongod --dbpath <path to data directory>
  2. Deploy server:

    # Obtain source files
    git clone https://github.com/simon987/Much-Assembly-Required.git
    
    # Build
    cd Much-Assembly-Required
    mvn package
    
    # Run
    cd target
    java -jar server-1.4a.jar

Docker

Requirements

  1. Docker Compose (and dependencies)

Installation

Once Docker and Docker Compose are installed, you can build and start this application by running the following command inside this application's directory:

docker-compose up

Make sure to change mongo_address in config.properties to mongodb.

Vagrant

Requirements

  1. Vagrant
  2. VirtualBox

Installation

When vagrant is installed, you can build and start this application by running the following command inside this application's directory:

vagrant up

Running

Once the server is running, you should be able to connect to http://localhost:4567 with your browser

VS Code Extensions