This setup requires you to have a working installation of Houdini with Dash, as well as a copy of Python (3.8 to 3.13). There is some necessary configuration to get this working, which will be covered in the following sections.
The Card-Jitsu Snow engine needs a special "WNS URL", to be able to connect to the right server.
You can find this URL inside your index.html
file, and searching for "wns".
If you have Houdini set up with Wand, it would look something like this:
-
Open the
templates/vanilla-media/play/index.html.template
file in your editor of choice -
Change the line with
"wns":"n7vcp1clubpwns.clubpenguin.com"
to"wns":"{{ (parseUrl .Env.WEB_VANILLA_PLAY).Host }}"
-
Restart nginx:
sudo docker-compose restart web
This may be different for your setup of course. The important part is that the WNS URL is set to your vanilla play URL, i.e. "play.localhost", or "localhost/play/".
This step is not required if you run this project locally!
Dash will tell the Card-Jitsu Snow client where the game server is located, and thus needs to have the right configuration as well.
-
Open the
settings.py
file inside thedash
folder -
Search for a line with
CJS_HOST
-
Change the content of the
CJS_HOST
to your public ip address -
Restart dash
And now, we need to set up the actual repository.
-
Clone this repository:
git clone https://github.com/Lekuruu/snowflake.git
-
Rename the
.env_example
file to.env
and edit it, to match your setup -
Install the requirements:
pip install -r requirements.txt
-
Run the server:
python main.py
Snowflake includes a recreation of the Card-Jitsu Snow beta as a toggleable option. If you wish to use this feature, you'll need to add a few new SWF files.
-
cardjitsu_snowpayoutbeta.swf and cardjitsu_snowplayerselectbeta.swf both need to be in
/game/mpassets/minigames/cjsnow/en_US/deploy/swf/ui/windows/
. -
cjsnow_uiassetsbeta.swf and cjsnow_playerselectassetsbeta.swf both need to be in
/game/mpassets/minigames/cjsnow/en_US/deploy/swf/ui/assets/
.
If something went wrong, you will most likely see this screen pop up:
There are many reasons why this could be happening. Here are some basic things to check:
-
Ensure that port 7002 is accessible from the outside
-
Check if your
crossdomain.xml
is accessible under<your_play_url>/crossdomain.xml
-
Ensure you set the right media url in the
.env
-
Ensure your copies of houdini and dash are up-to-date
There have been multiple users experiencing issues with flash's policy file requests (e.g. in here).
This might be resolved, by setting ENABLE_POLICY_SERVER
to True
in your .env
file.
You might want to check if your server is https
only, i.e. only allowing secure ssl connections. If that is the case, you need to replace the flash_client_base_fp11.swf
inside /game/mpassets/playclients/r3662/
with this file.
Feel free to contact me on Discord (@lekuru), or per E-Mail ([email protected]), for further support.