![Project Rebound Logo](https://cdn.alanmoon.net/rebound/PRLogo_Black.png) # Rebound is a Pogo.com Server Emulator meant to run the older Flash/Java Applets to some degree. # Why Does This Exist Unfortunately the classic servers for Pogo.com were shutdown a long time ago, and with it went over 150+ legacy games. This exists to get those games working to some degree. # `client-props.jsp` Unfortunately, all games were entirely configured (layout, asset paths, locale, game parameters) in one single file, `client-props.jsp` Most games are missing this file, so they will more than likely not work correctly or at all. This emulator only exists for those who either: * found a `client-props.jsp` file * reverse engineered one * wants to understand how the protocol works so that development can progress **UPDATE:** We have uncovered a games `client-props.jsp` response hidden within one of the asset archives I had. We may try to get in touch with this person to get more game specific responses. I've also determined that the `config.txt` from Perfect Pair Solitaire is a local config and doesn't house all the game specific keys needed for it to run. The response was for a game called **Lottso! Express**, which is exciting on it's own because that was a beloved game on the site. I may try to get it working with the emulator. # How To Use To avoid legal issues, I cannot share old game assets. All I can share are config files for the games that we do have them for. Game specific ones (except for **Lottso! Express**) had to be reverse engineered. The ones we have are for: * Perfect Pair Solitaire (emu status: kind of broken unless server is built without win condition) * Pogo Bowl (emu status: broken) * Lottso! Express (emu status: untested) You can find them in the `Example Folder Structure` folder in the repo, which as the name suggests, has the required folder structure for the emulator to work with any of the games. To play a game, use the `play-game` endpoint. Here's an example: ```http://localhost:8080/play-game?game=waterwheel&appletClass=com.pogo.game.client2.waterwheel.WaterwheelApplet&site=pogo&locale=en_US&hostedGameClass=com.pogo.wtrw.bz.esg.wtrw.GameApplet``` If you want to play a different game, you'd have to find the main applet class and the `hostedGameClass` which would be the actual game initialization code. It's not too hard to find, the hosted game class might be the harder one to find though. # What Works * Game Initialization * MoTD ("Welcome to Pogo!" server message) * Jackpot Spin Win Condition # What Doesn't Work * Chat * Pogo Minis * Any Tabletop Games (Monopoly, Battleship, Checkers, etc.) * Downloadable Games (seperate CDL API)