On April 29, 2022, Ninja Kiwi shut down their multiplayer servers for the following games:
- SAS4 Flash
- Countersnipe Flash
- SAS3 Flash
- BTD5 Flash
- BTD Battles Flash
2025 update - Bloons Monkey City has been added as well. It will become launchable from the Archive if you install this mod.
This project fully recreates these servers, built from scratch with Java TCP sockets.
Currently I am hosting all of these - BMC, BTD Battles, BTD5 challenges, BTD5 co-op, SAS3, Countersnipe, and SAS4. The guide to play on these servers is also available as a video:
https://www.youtube.com/watch?v=J3q-Vb5A4jI
When playing on these servers, some quality of life/easter egg features are added to the client, but mostly they will play exactly as you would expect the game to play on Ninja Kiwi's servers, and any data or achievements from these games will register in your actual NK profile, excluding BMC where you will get a new online save.
There are different methods of installing the client.
In all cases, ensure Ninja Kiwi Archive is installed, and close all NK Archive windows before installing!
- Download
FlashClient.bat
(windows) orFlashClient.sh
(Mac or Linux) from the releases page and run it. You might receive a warning since the application isn't signed.
- Navigate to your NK Archive installation folder. Steam example: open Library, right click NK Archive, Manage -> Browse local files.
- Open the "resources" folder, and delete or rename
app.asar
. - Download
app.zip
from the releases page and extract it in the current folder(ending in "resources") to get a newapp.asar
.
Mac/Linux/Standalone Paths:
- Standalone Windows - Current User"%LOCALAPPDATA%\Programs\Ninja Kiwi Archive\resources"
- Standalone Windows - All Users
"%PROGRAMFILES%\Ninja Kiwi\Ninja Kiwi Archive\resources"
- Mac Steam
"$HOME/Library/Application Support/Steam/steamapps/common/Ninja Kiwi Archive/resources"
- Mac Standalone
"/Applications/Ninja Kiwi Archive"*".app/Contents/Resources"
- Linux Steam
"$HOME/.steam/steam/steamapps/common/Ninja Kiwi Archive/resources"
- Linux Steam 2
"$HOME/.local/share/Steam/steamapps/common/Ninja Kiwi Archive/resources"
- Linux Proton
"$HOME/.steam/steam/steamapps/compatdata/1275350/pfx/drive_c/Program Files (x86)/Steam/steamapps/common/Ninja Kiwi Archive/resources"
- Download
FlashClient.ps1
from the releases page - open PowerShell (or PowerShell ISE)
- Enable PowerShell execution
Set-ExecutionPolicy Unrestricted -Force
- On the prompt, change to the directory where you downloaded the files:
cd c:\Users\NAME_HERE\Downloads
- Next, to run the script, enter in the following:
.\FlashClient.ps1
That's it! Next time you start BMC, BTD Battles, BTD5, SAS3, Countersnipe, or SAS4 on the archive they will be modded to link to the private server, allowing you to play online with other players.
Enjoy!!
Since the games are fairly inactive, you can play "solo" multiplayer with the following methods:
- open multiple NK Archives(less lag), or multiple of the same game from the same Archive
- join code 400 in SAS4 to play a boosted game with bots(works in any mode)
- bots for battles flash(will require some code changes to work)
If the links provided to you during archive installation don't work for you(make sure to read 'How to Play' first!) try one of the following methods:
Archive.org installer - requires admin
https://archive.org/download/flashplayerarchivedversions2/333/fp_29.0.0.171_archive.zip1. extract the zip file from the link above
2. run the correct installer(most likely winpep something)
3. Restart the archive and it should load!
Manual 'install' - no admin required
1. download "pepflashplayer.dll" for your system(just search for it on google)How to verify a .dll from the internet is legit
1. right click on pepflashplayer.dll(the one extracted from the zip, not the zip itself) and click 'Properties'2. click the 'Digital Signatures' tab(if it isn't there don't trust the file)
3. ensure there is a valid signature from 'Adobe Systens Incorporated'.
3. open the folder there named "flash"(create it if it didn't exist)
4. delete anything there previously
5. create a folder called "system"
6. paste the pepflashplayer.dll there
7. restart the archive and it should load!
(BTD5 Co-op, BTD Battles, SAS4, SAS3, Countersnipe)
- Add the JDK to your system PATH, or edit the script to an absolute one in the next step.
- Download the source and run
compile.bat
orcompile.sh
depending on your system.
This will compile the source to ./classes
and launch the server.
To configure the server, edit flash.properties
.
You can also create a jar file with mvn package
or extra/package.bat
, or download one from build artifacts.
There is an older version of each server which can be compiled here and is a few updates behind, but each server is only a single source file and they have been tested to run consistently for months. However some deadlocks might emerge after thousands of games.
- Add the JDK to your system PATH, or edit the script to an absolute one in the next step.
- Navigate to
extra/old/[game name]
and runrunme.bat
orrunme.sh
depending on your system. There are no dependencies for either version.
(BTD5 Daily Challenges/Special Missions, BMC, BMC/SAS4 Event Data)
These are a web app. See the BMC readme for build instructions.
In order to play on a server you are hosting, you will have to create SWFs that link game clients to your server,
since the ones generated by the powershell scripts only link to my server.
This can be done through decompilation+Fiddler MITM and other methods, but eventually an archive mod with server selection might be available.
Some useful tools for analyzing client and server behavior are FFDec and Wireshark.
If you have questions or concerns feel free to message me on discord: glenn_m
or join: https://discord.gg/VVGuvq7kAv