1. Created net.simon987.server.crypto package and moved RandomStringGenerator there. 2. Created CryptoProvider class, added a global instance to GameServer for use by game entities. 3. Created interface for cyphers, abstract class for shift substitution cyphers, classes for no cypher, Caesar cypher, Vigenere cypher and autokey cypher. 4. Created some Crypto exceptions. 5. Removed static encryption/decryption methods from VaultDoor, and moved getRandomPassword() to the global CryptoProvider instance.
Live demo
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 & Iron/copper ore using the online code editor.
VS Code Extensions
- Much Assembly Required (Upload on Save) by tomhodder
- Much Assembly Required Language Support by PJB3005
Deploying the server
Note: You can find the frontend here
Linux (Ubuntu 16.04)
# Install tools
sudo apt install git maven openjdk-8-jdk
# 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.2a.jar
Windows (tested on Windows 10)
Installation instructions:
- Download the JDK from here. Install the JDK and update your PATH and JAVA_HOME enviroment variables.
- Download Maven from here. Install Maven (following the README) and update your PATH enviroment variable.
- Download Mongo DB Community from here. Install Mongo DB following the instructions here. Update your PATH enviroment variable.
Building instructions:
:: Builds the server
cd Much-Assembly-Required
mvn package
Running instructions:
- In one Command Prompt window, run Mongo DB:
:: Runs Mongo DB
mongod
- In a second Command Prompt window, run the MAR server:
:: Runs the MAR server
cd Much-Assembly-Required\target
java -jar server-1.2a.jar
- Run the frontend, following the instructions that you can find here.
Docker
Requirements
- 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
This will start MySQL and then build and run this application. It will be available via http://localhost.
Note that there is currently no frontend web application serving the
WebSocket feed served by the Server
application!