Implement Basic Lottso Express Support
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.jspfile - 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)