Marwolf d3172b4663 Apache Tomcat proxied via Nginx
Tomcat support added. JSP and other filetypes now proxy through the Tomcat docker container. Also named each container so direct named access is possible.
2018-07-26 23:23:12 -04:00
2018-07-26 23:23:12 -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-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 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:

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%