Open RSC Docker Home 
An easy to run RSC private server environment using Docker that works in Windows, Mac, and Linux.
Choices:
- Single player RSC game + basic database editing (PHPMyAdmin)
- Game + Website + PHPMyAdmin
Operating systems supported
-
Windows 10 x64 (Not Windows 7)
-
Mac OS X High Sierra
-
Ubuntu Linux 18.04 x64
-
Fedora Linux 28 x64
-
CentOS 7 x64
Choice 1: Download the zip, extract it, and open the "Docker-Home" folder
https://github.com/Open-RSC/Docker-Home/archive/master.zip
Choice 2: Clone the project with git
Install Git, then clone the project:
git clone https://github.com/Open-RSC/Docker-Home.git
Important for Windows users!
Open Docker and make your drives available to your Docker containers:
Run the scripts
-
Perform the first time setup:
Mac/Linux: ./Setup_Linux_Mac.shWindows: "Setup_Windows.cmd" -
Open your favorite browser:
- http://localhost (username: Marwolf, password: malware)
- http://localhost:8080 PHPMyAdmin (username: root, password: root)
-
Start the game's Docker containers, then run the game server and client:
Mac/Linux: ./Start_Single_Player_Game_Linux_Mac.shWindows: "Start_Single_Player_Game_Windows.cmd" -
Backup game databases:
Mac/Linux: ./Backup_Game_Databases_Linux_Mac.shWindows: "Backup_Game_Databases_Windows.cmd" -
Restore game databases:
Mac/Linux: ./Restore_Game_Database_Backup_Linux_Mac.shWindows: "Restore_Game_Database_Backup_Windows.cmd" -
View the game's Docker container logs:
./View_Docker_Container_Logs_Linux_Mac.shWindows: "View_Docker_Container_Logs_Windows.cmd" -
Stop the game's Docker containers and shut down the game server:
Mac/Linux: ./Stop-Game-Linux_Mac.shWindows: "Stop_Game_Windows.cmd"
Ready to host a public version on your own VPS?
You will need to edit:
-
PHPMyAdmin's MySQL users
-
Create a new user in PHPMyAdmin, grant permissions, remove existing users.
-
Secure your users by making them only accessible from specific hostnames
-
Each Docker container will have it's own assigned internal IP address.
-
Examples:
-
openrsc_forum @ 172.18.0.3 (only accessible via Nginx Docker container)
-
openrsc_game @ 172.18.0.1 (only accessible via locally running Open RSC game server)
-
Marwolf @ 172.18.0.4 (only accessible via PHPMyAdmin Docker container)
-
-
Avoid: % for any host (risks allowing remote brute force MySQL server attacks)
-
-
Launcher's main.java
-
Edit: /Docker-Home/Game/Launcher/src/Main.java
- Replace with your domain / IP: private static String URL = "http://localhost";
-
-
Client's config.java
-
Edit: /Docker-Home/Game/client/src/org/openrsc/client/Config.java
- Replace with your domain / IP: public static String IP = "localhost";
-
-
Server's config.xml
-
Edit: /Docker-Home/Game/server/config/config.xml
-
Replace with your newly created SQL username: root
-
Replace with your newly created SQL user pass: root
-
-
-
Website's board/config.php
-
Edit: /Docker-Home/Website/board/config.php
-
Replace with your newly created SQL username: $dbuser = 'root';
-
Replace with your newly created SQL user pass: $dbpasswd = 'root';
-
-
-
Website's client.zip file
-
Compile changes for your client and compress "Open_RSC_Client.jar" as client.zip
-
Location: /Docker-Home/Game/client/dist/Open_RSC_Client.jar
-
Copy result to: /Docker-Home/Website/downloads/client.zip
-
-
-
Website's downloads/hashes.txt
-
Edit: /Docker-Home/Website/downloads/hashes.txt
-
Replace with updated md5sum hashes of your client.zip and cache.zip (likely you only will replace client.zip)
-
Obtain MD5sum via md5sum *.zip
-
-
