Git Product home page Git Product logo

docker-home's Introduction

Open RSC Docker Home Build Status

Death

Table of contents

  1. How to Install
  2. Choices
  3. Default Credentials
  4. Minimum Requirements
  5. Required Step For Windows Users
  6. Setup Process
  7. Steps to Host on a VPS

How to Install Open RSC

Docker version (Linux and Windows):

curl -sSL https://raw.githubusercontent.com/Open-RSC/Docker-Home/master/Linux_Cloner.sh | bash

Direct install version (Linux only):

curl -sSL https://raw.githubusercontent.com/Open-RSC/Game/master/Linux_Simple_Cloner.sh | bash

Return to top


Choices

  1. Single player RSC game + basic database editing (PHPMyAdmin)
  2. Game + Website + PHPMyAdmin

The game client registers new players upon their first login attempt.

Admin role is group_id = 1, players are group_id = 10

Return to top


Default Credentials

Ghost CMS Website

Username: [email protected]

Password: malwareinfection

Database

Username: root

Password: root

Return to top


Minimum Requirements

  • Windows 10

  • Mac OS X High Sierra

  • Ubuntu Linux 18.04

  • Other Linux (no support provided)

Return to top


Required Step For Windows Users

Open Docker and make your drives available to your Docker containers:

Shared drives setting

Return to top


Setup Process

  1. Perform the first time setup:

    Mac/Linux: ./Linux_Installer.sh
    Windows: "Windows_Installer.cmd"
  2. Open your favorite browser:

  3. Start the Docker containers and run the game server and client:

    Mac/Linux: ./Linux_Single_Player.sh
    Windows: "Windows_Single_Player.cmd"
  4. Backup all databases:

    Mac/Linux: ./Linux_Backup_Databases.sh
    Windows: "Windows_Backup_Databases.cmd"
  5. Stop the game's Docker containers and shut down the game server:

    Mac/Linux: sudo make stop
    Windows: "Windows_Stop_Game_Server.cmd"

Return to top


Steps to Host on a VPS

  • Run the installer:
curl -sSL https://raw.githubusercontent.com/Open-RSC/Docker-Home/master/Linux_Installer.sh | bash
  • Follow the steps to install needed programs

  • Select "2. Deployment for a publicly hosted server"

  • You will be prompted to edit specific files. Below is what to do each:

PHPMyAdmin MariaDB SQL users

  • Create a new user in PHPMyAdmin (http://localhost:9000), grant it all permissions, remove pre-existing users.

    • Use % for the host associated with the new user. Docker containers do not have static IP addresses and we are using the PHPMyAdmin Docker container to connect to the MariaDB Docker container. Each has a unique internally assigned IP address that is not localhost. The Docker container port of tcp/3306 for MariaDB is bound to the server as localhost so there should be no threat of external connections.

"Docker-Home/.env"

  • The main website is running through Ghost CMS. For the section starting with # Ghost:

  • Replace: "URL=http://localhost/blog"

  • Nginx has a hostname reference for localhost as "NGINX_HOST=localhost" under the # Nginx section. It can be safely left alone at this time.

  • For the section starting with # MySQL:

    • Set the username and password that have been granted root privileges in MariaDB SQL that you just created in the previous step with PHPMyAdmin where it reads "MYSQL_ROOT_USER=root" and "MYSQL_ROOT_PASSWORD=root"

"Docker-Home/Game/server/config/config.xml"

  • Replace with your newly created SQL username: root

  • Replace with your newly created SQL user pass: root

"Docker-Home/Game/Launcher/src/Main.java"

  • Replace with your server's IP/domian: private static String Domain = "localhost";

  • Do as you wish for the other lines around it.

"Docker-Home/Game/client/src/org/openrsc/client/Config.java"

  • Replace with your server's IP/domain: public static String IP = "127.0.0.1";

Website config import:

  • Visit http://localhost/blog/ghost

  • Click on "Labs" once registered / logged in

  • Click "Browse" beside "Import content" and select "/Docker-Home/website_backup.json"

Linux_Fetch_Updates_Production.sh

  • Prompts the user to edit files potentially changed since "Linux_Installer.sh" was last ran

  • Compiles client, launcher, and server.

  • Copies "Docker-Home/Game/client/cache.zip" to "Docker-Home/Website/downloads/cache.zip"

  • Copies "Docker-Home/Game/Launcher/Open_RSC_Launcher.jar" to "Docker-Home/Website/downloads/Open_RSC_Launcher.jar"

  • Compresses then copies "Docker-Home/Game/client/client.zip" to "Docker-Home/Website/downloads/client.zip"

  • Md5sums client.zip and cache.zip in "Docker-Home/Website/" and outputs to hashes.txt

  • Starts the game server in a detached screen console. Access via "screen -r", return via "Ctrl + A + D", exit via "Ctrl + C" (executes Linux_Run_Production_Server.sh)

Linux_Run_Production_Server.sh

  • Starts the game server in a detached screen console. Access via "screen -r", return via "Ctrl + A + D", exit via "Ctrl + C" (executes "Docker-Home/Game/server/run_server.sh")

Return to top

docker-home's People

Contributors

cleako avatar nanoninja avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.