Skip to content
A modern, multi-threaded AS2 Club Penguin server emulator for Windows, Linux and Mac
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
config Cleaning Apr 13, 2019
register Use twin-bcrypt and fixed some small stuff Apr 6, 2019
src Security patch Apr 26, 2019
LICENSE Initial commit Mar 28, 2019 More updates Apr 8, 2019
modern.sql Important updates Apr 8, 2019
package.json Cleaning Apr 13, 2019
run.js Cleaning Apr 13, 2019


A modern, multi-threaded AS2 Club Penguin server emulator for Windows, Linux and Mac

Setup - VPS

It's almost the same, except you don't need XAMPP, so you can ignore all XAMPP related tasks. You do need to install phpMyAdmin yourself to import the database and your CPPS won't be available from play.localhost but your own domain. When setting this up on a VPS, make sure you're using a password for your MySQL server and configure /register/index.php and /config/index.js correctly. This all can be Googled, so I won't provide it in here. I also suggest using HTTPS, LetsEncrypt gives you HTTPS for free.

Setup - Localhost

  1. Install Node.js
  2. Download the media server
  3. Download XAMPP
  4. Install XAMPP and choose Apache, MySQL, PHP and phpMyAdmin
  5. Open XAMPP and click on Explorer and then browse to /htdocs/
  6. Open the AS2 media server and put the 2 folders called play and media in /htdocs/
  7. At XAMPP, at the Apache module, click Config -> <Browse> [Apache]
  8. Go to /conf/extra/ and open the file httpd-vhosts.conf
  9. Add the following at the bottom of the file, edit DocumentRoot if needed and save the file
<VirtualHost *:80>
    ServerAdmin webmaster@play.localhost
    DocumentRoot "C:/xampp/htdocs/play"
    ServerName play.localhost
    ErrorLog "logs/play.localhost-error.log"
    CustomLog "logs/play.localhost-access.log" common

<VirtualHost *:80>
    ServerAdmin webmaster@media.localhost
    DocumentRoot "C:/xampp/htdocs/media"
    ServerName media.localhost
    ErrorLog "logs/media.localhost-error.log"
    CustomLog "logs/media.localhost-access.log" common
  1. Add the following 2 lines in your hosts file using this tutorial	play.localhost	media.localhost
  1. Download Modern, open the zip and drag the Modern-master folder somewhere on your system
  2. Open CMD/Terminal and CD into the directory where you placed that folder
  3. Enter the command npm install
  4. At XAMPP, start Apache and MySQL and at the MySQL module, click Admin
  5. On the top left of the newly opened page, click new
  6. Enter the database name modern and click create
  7. On the tabs, click import and pick the file modern.sql in the folder Modern-master on your system and press start
  8. At XAMPP, go back to the /htdocs/ folder, but now go to /play/ which is inside /htdocs/
  9. Drag and drop the folder /register/ from Modern-master into the /play/ folder
  10. Open /htdocs/play/register/index.php and get reCaptcha v2 keys using this tutorial
  11. For domains on reCaptcha v2, add: play.localhost and http://play.localhost
  12. When you got your reCaptcha v2 keys, replace your_public_key with your public key and your_private_key with your private key and save it
$config = [
  "host" => "",
  "database" => "modern",
  "username" => "root",
  "password" => "",
  "key" => "Modern", // OPTIONS.KEY
  "public" => "your_public_key", // Public reCaptcha v2 key
  "private" => "your_private_key", // Private reCaptcha v2 key
  "minColor" => 1,
  "maxColor" => 13
  1. On your browser, go to play.localhost/register/ and register an account, you should get a success box if you did everything above
  2. Open 2 CMD/Terminals and CD into the folder Modern-master
  3. On the first terminal, enter the command npm run login and on the second enter npm run world, both should success
  4. On your browser, go to play.localhost/ and you are done!
You can’t perform that action at this time.