Skip to content

nhaar/Waddle-Forever

Repository files navigation

Waddle Forever

Waddle Forever is composed of a localhost server emulator for Club Penguin and an electron client with the server that can run the game out of the box, built with Node.JS in TypeScript.

It's main goals are accessible speedrunning, accessible sandbox Club Penguin and in the future for a complete singleplayer experience and archival of parties and events.

Important

Download links are available in the website!

Progress

At the moment, the program is at an early stage. A basic "AS2" gameplay is currently supported, including minigame, stamps and penguin customization.

The client has ambitious goals, so it is uncertain if they will be met. The main goals include:

  • Be fully useable for all speedruns
  • Allow exploring any party, event and timestamp in the timeline
  • Allow adding mods easily
  • Useable for small servers hosted for friends
  • Have a world of NPCs over the island
  • Have a complete singleplayer experience and "story mode"

For more detailed updates and plans for the project, check out the discord server.

How it works

The project is composed of two segments:

Client

Its client uses electron to read the webpages for Club Penguin and run Flash, so the user does not need to worry about installing flash. The electron client runs all the servers it will access, so there is no need to setup

Server

Under the hood, a Club Penguin server emulator runs to give full functionality to the game. The server can also be ran standalone, in which case the electron client is not needed, and you can use multiple windows to access the game.

Caution

The server made for this client is not safe for multiplayer! It can be exploited easily so only host it to people you trust. If you wish to make a CPPS, use a different emulator like Houdini

Building

To build you must have node.js, npm and yarn installed. After cloning the code, install all dependencies:

Note

Last built using Node.js v20.12.2, NPM v9.8.1, yarn v1.22.22

yarn install

For running the client in development, run

yarn start

For running the server in development, run

yarn dev

The game is built into zip files which are placed in the website. To build the zip files:

yarn build-media yarn build-win

Will leave all the files in the folder zip

Credits

The electron client is originally forked from the Club Penguin Avalanche client.

The server is based in solero's works in reverse engineering the Club Penguin server (Houdini server emulator). The media server is also mostly from solero's media servers.

Thanks for Levi for help with the Linux version.

Special thanks to charlotte, who made CPSC, the original singleplayer/speedrunning client.

Special thanks to supermanover, Blue Kirby, Jeff The Rock, Resol van Lemmy for the continued support and help during development.