2018-07-20 21:26:19 -04:00
2018-07-12 14:44:26 -04:00
2018-07-20 01:17:13 -04:00
2018-07-16 17:34:04 -04:00
2018-07-16 17:34:04 -04:00
2018-07-19 10:13:21 -04:00
2018-07-17 16:19:06 -04:00
2018-07-16 17:34:04 -04:00

Open RSC Docker Home

An easy to run RSC private server environment using Docker that works in Windows, Mac, and Linux.

Choices:

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

Operating systems supported

  • Windows 7 x64

  • Windows 10 x64

  • 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:

Shared drives setting


Run the scripts

  1. Perform the first time setup:

    Mac/Linux: ./Setup_Linux_Mac.sh
    
    Windows: "Setup_Windows.cmd"
    
  2. Open your favorite browser:

  3. Start the game's Docker containers, then run the game server and client:

    Mac/Linux: ./Start_Single_Player_Game_Linux_Mac.sh
    
    Windows: "Start_Single_Player_Game_Windows.cmd"
    
  4. Backup game databases:

    Mac/Linux: ./Backup_Game_Databases_Linux_Mac.sh
    
    Windows: "Backup_Game_Databases_Windows.cmd"
    
  5. Restore game databases:

    Mac/Linux: ./Restore_Game_Database_Backup_Linux_Mac.sh
    
    Windows: "Restore_Game_Database_Backup_Windows.cmd"
    
  6. View the game's Docker container logs:

    ./View_Docker_Container_Logs_Linux_Mac.sh
    
    Windows: "View_Docker_Container_Logs_Windows.cmd"
    
  7. Stop the game's Docker containers and shut down the game server:

    Mac/Linux: ./Stop-Game-Linux_Mac.sh
    
    Windows: "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


Description
Docker running Nginx, PHP-FPM, MySQL, and PHPMyAdmin
Readme 17 MiB
Languages
Shell 76.7%
Batchfile 15.8%
Makefile 7.5%