ReboundEmulator/README.md
2026-09-28 20:17:49 -07:00

43 lines
2.6 KiB
Markdown

# Not Pogo
Not Pogo 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)