Touhou Patch Center:Servers

From Touhou Patch Center
Jump to navigation Jump to search
This page contains changes which are not marked for translation.

Project overview
About Tutorial FAQ Patch servers Download Patch overview github.png Bug tracker Artwork Wiki security


To ensure the availability of our translations, the patch data used by the Touhou Community Reliant Automatic Patcher is mirrored across multiple servers.

Server URL main server (HTTPS)

As the main server, is the most up-to-date resource and directly receives translations after they were made in the wiki. The other mirrors pull the latest state from there every minute.

Just like the content on the wiki, the translations and images on this server are licensed under Creative Commons Attribution-ShareAlike 4.0 International.


This list contains links to third-party patch repositories not under our control. When pointed to Touhou Patch Center, the configuration tool will offer to choose patches from these repositories as well.

If you want your repository to be included in this list, please send a mail to, containing the public path to your repository (this is the "servers" value in repo.js). In case you use Git to manage your server, you can also request it to be automatically mirrored on This is highly recommended in order to keep your patches available in case the original host happens to go down.

URL Title Patches Nmlgc's patch repository
  • aero (Enable Aero compositing)
  • base_tasofro (Basic support for Tasogare Frontier games)
  • base_tsa (Basic support for Team Shanghai Alice games)
  • bitch (Keep Alice's "bitch" line in TH08)
  • cheat (Various cheats, ported from SpoilerAL .ssg files)
  • eastern_name_order_hepburn (Character names in eastern order and hepburn spelling.)
  • instant_ending (Show the ending immediately upon entering Stage 1
                         (missing support for TH07 and TH08))
  • official_en (Official English translations)
  • real_bullet_size (Resize bullets to match their actual hitbox
                         (by sibgamer,
  • script_latin (Shared data for languages using Latin script)
  • western_name_order (Western name order) Traduccion al castellano
  • ghildrean (Traduccion al castellano) The Amateur Modder
  • mima (The return of Mima! (English)
                         This mod has a few bugs in the fighting games.) BurntToast12's Mod Stockhouse
  • Sakuya! (This Adds Sakuya As A Playable Character)
  • Sakuya!NoBackgroundOnWatch (This Removes Th13's Pocketwatch Background.)
  • Yuuka! (Adds Yuuka As A Playable Character) Nutzer
  • Touhou-8.3 (Nutzer's Touhou 8.3 (Demo 0.1a)) UnKnwn Thcrap Repository
  • bl_reimu (BlueReimu: Sprite and portraits replacement. (Th10+))
  • untanned_cirno (UntannedCirno) DTM's Patch Repository
  • alphes (Alphes Styled Character Portraits (Art by Dairi))
  • lang_en-shifted_bgm (English Language pack with shifted music titles in stage)
  • transparent_season_items (Increases the transparency of season items (by Namusan)) Wobuffet3's patches
  • altplayers ((TH16) Replaces player images with Sumireko, Seija, Yabusame, and Tsubakura.)
  • spaghetti ((TH16, 16.5, 17) Turns everything into spaghetti. Contains 'visuals' patch.)
  • th18strings ((TH18, 18.5) Enhances Th18's music by making songs sound less empty. Also enhances Saki's theme in Th17 and the reused songs in Th18.5.)
  • visuals ((TH16, 17, 18, 18.5) Makes various shots and items less distracting.)'e/ Pook Chang'e's Patches
  • alt_bgm (Replaces Necrofantasia with Night Falls - Evening Star in TH07)
  • extra_bg_restoration (Add Extra boss character sprites to backgrounds for TH13-TH15.)
  • kirisa_ha (Help Marisa Kirisa and Reimu Ha transcend into the games)
  • reimu_rod ([patch moved to VasteelXolotl/reimu_gohei]) MGFTWH3561's Mods
  • Fr00sk_Styled (Fr00sk Styled by MasterGameFTW3561 and Art by Fr00sk)
  • JzBoy_Styled (JzBoy Styled by MasterGameFTW3561 and Art by JzBoy Anims)
  • Koichi_Pose (Koichi_Pose from JJBA by MasterGameFTW3561 and Art by Fr00sk)
  • Nuclear (Change the Unyu into Unyuke Touhou 11 only)
  • YukariSans (Yukari become just like Sands.) ? ? GhostPhanom's strange thoughts
  • BossRush (Turbo youkai extermination (Currently supports TH10, TH11, TH12, 128Ex, 13, 14, 15, 16))
  • MikoPopsicle (Changes her shaku and aura for a Cirno Popsicle in TH13) Bravi's creations
  • BossDisplayFixes ((All Windows Main Games + 16.5) Same as Retexture but it's only a Boss Display Fix Patch + modernized sfx and Life/Bomb icons.)
  • BraviKHBGM ((Th12, 15) Some final and Extra boss themes got a Kingdom Hearts theme playing while you fight them.)
  • BraviOCOkina ((Th13, 14.3, 15, 16, 16.5, 17, 18) Replaces the following with a new (OC) adversary.
            A stage 6 midboss got added in th13, 15, and 16 as well.
           Okina in Stage 6, Extra (turned into Phantasm) that got a revamp,
            Wrong/Nightmare Saturdays that got a stage background revamp too
            Yukari in Day 10
           Futo and Tojiko in Stage 5
            Seiran in Stage 1
            Mayumi in stages 5 and 6, got new additions to Keiki's fight too
            Megumu in stage 5.)
  • BraviOCPlayer ((Th15, 16, 16.5, 17 mostly) Modded (Reimu) dialogues for the same OC. Player sprite modding affects all games.
           Also please refrain from selecting this patch along with the OCOkina patch...)
  • Bravimemes ((Th10, 11, 15, 16, 17, 18) Memes that come in my mind, and cursed patterns too... Like Mountain of Stoners, Subterranean Oparism or Legacy of Lunatic MetaPlate.
           Okina's fight has the order of the seasons shuffled, and Mai and Satono drop too many ressources.
           Keiki and Saki also seem to be affected by a curse, making them wrathful.)
  • Braviretex ((Th06 to 17 tsa games) Remake-like Retexture, Sounds, Dark UI and Display Fix Patch.)
  • ChimaTransform ((Th18) Chimata transforms into other final bosses.)
  • Letoile ((Th16) Custom playable character shot type for Sereinae (Spring).)
  • SereinaeAlt ((Th18) Alt timeline patch for miss OC. This stage is not canon to her story, but that version of the character IS. Replaces Chimata with a new Final Boss.)
  • Teedee Arrows ((Th15) Makes all bullets/lasers arrows. Typically deus rsf's nightmare.) Priw8's mods
  • 0power ((TH07-TH16) locks player shottype at 0 power, ignoring power items. For masochists.)
  • DIO ((TH17) press C to stop time)
  • LoDDK ((TH15) A boss rush patch in which you fight bosses from DDC and LoLK at once.)
  • itemfreeze ((TH08) all items that would've normally been autocollected now stay in place)
  • magik ((TH17) Every image in the game has been processed with liquid rescale by using imagemagick)
  • mode26 ((TH17) Sets interpoleration mode to 26 for everything, which breaks a bunch of stuff.)
  • th12tsuba ((TH12) Replaces Reimu with Tsubakura from the Len'en project. Features custom dialogues, endings, as well as 2 custom shottypes (.sht modifications).)
  • th14sanae ((TH14) Replaces ReimuB with Sanae shot from LoLK (not in menus))
  • th15gapping ((TH15) Makes you wrap around to the other side of the screen when hitting an edge.)
  • th15garbo ((TH15) Every shot bullet has a random type and color, which makes everything look like garbo.)
  • th15sakuya ((TH15) Replaces Reisen with Sakuya (not in menus))
  • th15slippery ((TH15) Moving on ice.)
  • th15slipperygapping ((TH15) Moving on ice + wrap to the other side of the screen when hitting an edge! Allows building up speed for 12 hours!)
  • th165lolk ((TH16.5) Puts stages and bosses from LoLK into VD. Refer to the README.txt file from the repo for more information.)
  • th16ice ((TH16) Replaces releases with freeze ability from GFW)
  • th16mystia ((TH16) Replaces Cirno with Mystia (not in menus yet) (April fools 2019 mod))
  • th16nonprac ((TH16) Replaces spells in spell practice with nonspells)
  • th16sanae ((TH16) Replaces Marisa with Sanae shot from LoLK (not in menus))
  • th16ufos ((TH16) read README.txt from the repo for more info)
  • th17prac ((TH17) practice patch for WBaWC demo)
  • th17speen ((TH17) speedy otter spin)
  • th18shoplifting ((TH18) unfixed the shoplifting glitch from the demo)
  • thanos ((TH15, 16) Randomly skips ECL instructions (50%), which results in "corrupted" patterns and stages.)
  • ultra-fast ((TH17) an ultra patch that makes everything spawn/fire twice as fast.) Splashman's BGM patches.
  • bgm_limbo (BGM Legend in Limbo.)
  • bgm_rockgirl (BGM mod using CarrotWine's 'Touhou Rockgirl' arrange albums.)
  • bgm_rockgirl_base (Base files for bgm_rockgirl.)
  • bgm_sc88pro (BGM mod using ZUN's SC-88 Pro MIDI versions, by RomantiqueTp.)
  • bgm_sc88pro_base (Base files for bgm_sc88pro.) @MoriyaFaith#9287
  • hudplus (Huge graphical updates to Touhous 6, 7, and 8.)
  • izayoi ((TH16) the Izayoi Project.)
  • sanae ((TH7, 8, 9 [WIP], 11[WIP], 16) the Kochiya Project.) PKWeegee
  • CirnAya (CirnAya)
  • ThAltJess (ThAltJess)
  • UltraStory (UltraStory) DassRepo
  • noshake (Replay-compatible screen shake removal. DDC-only for now.)
  • reosd (EoSD patch for UFO (EARLY ACCESS) (NOTE: The scorefile is named "scoreosd12.dat" while the replay folder is called "reosdreplay"))
  • ultra-A ("Ultra" patch for th17 that doubles bullet ways.)
  • ultra-B ("Ultra" patch for th17 that doubles bullet layers.) SMB3's Meme Patches
  • EoSDChiptune (EoSD Chiptune Soundtrack, lossless FLACs, DefleMask edition)
  • EoSDChiptuneLossy (EoSD Chiptune Soundtrack, lossy Oggs, DefleMask edition)
  • EoSotN (EoSD but I fucked up msg6.dat for a really dumb joke)
  • LionKing (Lion Sleeps Tonight Death Sound)
  • LoLKECL (LoLK ECL Testing. Use at your own risk!) Window Dump's Mod Dump
  • EoSD_Retexture ((TH06) Rexture Patch by Emarrel)
  • EoSD_Retexture_Hitbox ((TH06) Visible hitbox option from EoSD Retexture Patch by Emarrel)
  • PCB_Retexture ((TH07) Rexture Patch by Gastari)
  • Static_English ((TH06, TH07) Static English patch by Simon Elén & Touhou Wiki)
  • Undefined_Fantastic_Emoji ((TH12) Emoji-themed graphics by Gastari)
  • chipin ((TH08) Chipmusic mod with new script for Barrier Team)
  • chipin_base (Base files for chipin) Vasteel's Xolotls
  • cd-arranges (Some arranges from ZUN's CDs (lossy))
  • cd-arranges_base (Base files for ZUN arranges. Only contains those fitting with a particular game's style. Pls support the official release.)
  • cd-arranges_lossless (Some arranges from ZUN's CDs (lossless))
  • reimu_gohei (Restores Reimu's gohei in games after DDC. Original idea by Pook.)
  • vx-customshots (Modifications of shot types I thought were lacking.)
  • vx-fixedshots (Fixes the damage of MarisaB in MoF and YoumuC in WBaWC.) Daikarasu's repository of Touhou patches
  • RNG ((th08, 10, 11, 12, 12.5, 13, 14, 15, 16, 17, 18)
   Makes every attack purely RNG. (v2.0))
  • RNG-Legacy (Old version of the RNG Patch. Use this to view replays made with this version.)
  • RandomAttack ((th14, 15) Randomizes which attack gets fired every time. Chaos ensues.
   WARNING: th14 currently has unsolved random crashing for some users.)
  • kill_cam ((th14, 15, 16, 17, 18)
   Adds a TF2-styled kill cam to the game, which zooms in to the enemy that killed you (if it is still alive).
   Should be fully compatible with vanilla replays!)
  • le_sanae ((th15) Replaces almost every single texture to LE SANAE. Viewer discretion is advised.)
  • puny_remilia ((th08) Makes Remilia's shottype absolutely awful. (Gastari wanted this))
  • th18-disable-always-on-top (Disables Always-On-Top window behavior for Touhou 18 and 18.5) Clover Music Mods
  • music_mod (Clover's Music Mods) 32th's Patch Repo
  • Goast (lang_en but Goast is back)
  • LoLChristmas (Touhou 15 Christmas version)
  • MoFrance (Mountain of France)
  • OkinaFestival (Okina's Festival by InceRabbit. A mod for th16's stage 6 and extra stage)
  • WBaDDC (Implements the DDC scoring system in WBaWC)
  • dmg_debug ((th17) displays information about the damage you're dealing)
  • esc_r (Brings back ESC + R in th17)
  • score_uncap (Moves the score cap to (2^31-2)*10)
  • speen (th18 but everything rotates)
  • th128_gold_medal_count ((GFW) Show a counter of how many gold medals you obtained)
  • th17_motionsickness_go_spin (Rotates the background according to how you move to make you throw up) Gensokyo Executors
  • THBL_01 (Touhou Black Label 01 - Desire.EXE) Pgj1997's Patches
  • doggo (Keeps the #DoggoPhoto hashtag in TH165)
  • hq-rips (Replaces a good chunk of the music with high quality rips) rosenrose's Patch Repo
  • 8options ((TH11)Reimu's all types and MarisaC can have 8 options.)
  • beast_to_ufo ((TH17)Show you the UFOs instead of the beasts.(just graphic replacement))
  • bottom_enemy (Indicates "enemy" position like pre-th11 style.)
  • greedy_otter ((TH17)Otter type has both of Wolf's fast shot and Eagle's slow shot.)
  • gyate_gyate (Gyate gyate faces.(TH06, TH07, TH08))
  • swappedShots ((TH07)ReimuA→MarisaA style, ReimuB→SakuyaB style, MarisaA→ReimuA style, MarisaB→SakuyaB style
       (TH10)MarisaA→ReimuC style, MarisaC→ReimuA style
       (TH11)ReimuA→MarisaA style, ReimuB→MarisaB style, MarisaB→ReimuB style)
  • th08_swapping (Changes the player pairs: (Reimu,Marisa),(Sakuya,Alice),(Youmu,Remilia),(Yukari,Yuyuko))
  • th165_C-key (Press C to teleport.(made by 335 from MUASTG))
  • th16_infinite_season (The season level is fixed at 6.)
  • th17_infinite_roaring (Roaring gauge doesn't decrease.)
  • ufo_vivid (UFO patch for color blind people.
       by Dide,
  • ultrafast_otter (Boost the speed of the Otter spirit shield.) Tampalan THCRAP AsyrafFile
  • galactic (Replace non-diacritic Latin alphabet to Standard Galactic Alphabet from Commander Keen and Minecraft. For now it still on progress)
  • ms-eastern (Replace lang_ms western_name_order to eastern_name_order_hepburn.) Patches by ExpHP
  • anm_leak ((15-18) Fixes TH16's crashes on large releases. Improves performance when pushing certain games to their limit (e.g. with bullet_cap).)
  • base_exphp (Provides functions that help other patches support patches like bullet_cap without directly depending on them.)
  • bullet_cap ((06-09, 10-18 STGs) Makes the bullet cap, laser cap, and cancel cap configurable.

UM not well-tested. Defaults to 16x everything. To configure, see

  • c_key ((17) Make Ctrl and C behave as separate keys internally, for use by other patches. (C maps to 0x4))
  • continue ((10-12) Fixes the continue system. plz don't save cursed 3cc replays kthx)
  • ctrl_speedup ((10-17, 128) Makes Ctrl to speedup work outside of replays.)
  • debug_counters ((06-18 STGs) Show sprite, bullet, laser, enemy, and item counts.)
  • free_release ((16) Makes season releases not consume season power. (Request.))
  • nopause_enm ((11-17, 125) a.k.a. the Za Warudo mod. Enemies don't stop when you pause. nopauseblur recommended where available.)
  • nopauseblur ((15-17, 165) Disables blur on pause. Not available yet for DDC and earlier due to technical difficulties.)
  • sp_resources ((13, 14, 16, 17) Spell practice with lives, bombs and Max Season)
  • sprite_death_fix ((06-08, 10-18 STGs) Fixes crashes and black screens from drawing too many sprites.)
  • subseason_doyou ((16) Use Dog Days subseason outside of the Extra stage. (Not required to watch replays))
  • subseason_fall ((16) Use Fall subseason, even in Extra stage. (Not required to watch replays))
  • subseason_spring ((16) Use Spring subseason, even in Extra stage. (Not required to watch replays))
  • subseason_summer ((16) Use Summer subseason, even in Extra stage. (Not required to watch replays))
  • subseason_winter ((16) Use Winter subseason, even in Extra stage. (Not required to watch replays)) Trash Ideas
  • pc98_bgm (PC98 BGM for TH06-9.5)
  • th07_ut_bgm (TH07 with Undertale BGM)
  • th13_spirit_bgm (Replace the normal tracks with the spirit world version)
  • th17_doom_bgm (Replace the bgm with tracks from Doom, Doom 2 und Final Doom TNT)
  • unhöfliche_okuu (Makes Okuus hand look more impolite (TH11)) thpatch zh-hans ex-patches
  • taso (tasofro's ftg Chinese Simplfied font patch)
  • tsa (Used to make the STG game display the '♪' normally.) BTTF's Patch Repo
  • EnemyDeadEffect ((Th17)When enemy dies, the effect that appears when boss dies appear.) Dreamland's Crazy Tea Party
  • Auto-Bomb (Automatically triggers a bomb as soon as you got hit. Supports Touhou 06, 07, 08, 10, 11, 12, 13, 14, 15, 16, 17, 18 and Uwabami Breakers.)
  • HitboxPatch (EoSD always visible hitbox. Ported from Hitbox Patch v0.1)
  • string-fix ((TH07, TH08) Fix stage result text not showing. Please select this for LAST!) Welcome to sqrt-net!
  • alphes-background (Fitting interstage backgrounds for DTM's alphes patch)
  • mima-background (The return of Mima, now with Backgrounds!) Bullet Artistry
  • 15titleplus (A follow-up to 17titleplus!)
  • 16titleplus (A threequel to 17titleplus!)
  • 17titleplus (A multilingually supported patch that adds a cool big graphic onto the stage titles.)
  • aya_bad (More like, whya! Makes Aya harder than what she was originally. Otherwise a test mod.)
  • cirnoday (A celebration for Cirno! Adds to Cirno's 100BM moveset.)
  • dynastg (18.5 backgrounds go nyoom and wheee per wave.)
  • epro (A danmaku mockup showcase for a Stage 1 and 6 of fangame minus the game. Made in pure fun.)
  • funny_fish (A bonus stage for KDDC starring a certain funny fish.)
  • kaizo_ddc (A remodeling of DDC to be harder and more interesting.)
  • kaizo_wbawc (A remodel of WBaWC, because Kaizo DDC was garbage.)
  • keikimas (A christmas gift from Keiki, a more robust Idola Diabolus.)
  • morpho (An After Extra of HSiFS made by me because Eternity is a cool character.)
  • nitroni (Cool Nitori spriteswap retexture thingy for 18.5.)
  • nohead (Replaces TH14 Sukuna with a custom Sekibanki boss fight. I watched one boss rush video, and this happened.)
  • pofv_with_voice (A meme. Loud noise warning for this one.)
  • ringo (Not the starr, the bunny. Replaces TH15 Junko with a custom Ringo boss fight. Lots of bugs regarding music.)
  • umalt (A scrapbook of ideas and messing around with the game. Fun stuff.)
  • umdemo (A medley of the first 3 stages of UM crafted within HSiFS because why not? Kinda rushed for a contest, but I tried.)
  • vdlc (An add-on for vdr that changes a few characters around for funsies. Changes the 3rd Friday and Final Day Scene 3.)
  • vdr (A scrapbook of ideas and messing around with the game. Fun stuff.) Lmocinemod's (Low-Effort) Patch Repository
  • marisa_silent_laser ([th12+] Makes Marisa's laser silent)
  • marisa_quiet_missiles ([th13+] Makes Marisa's missiles sound like they do in th11) zero318's Patch Pile
  • FourOfAKind (FourOfAKind(06) Challenge all four difficulties at once)
  • NoDat (NoDat(08) Runs the game without even reading the th.dat file.)
  • RankConfig (RankConfigWIP(06-08) Base patch for easier modification of rank tables.)
  • SpellcardLimit (SpellcardLimit(06) Increases the maximum number of available spellcard IDs.)
  • TH8_ExtendedTrial (TH8_ExtendedTrial(08) Ports features of the old IN trials to the final version.)
  • YoloSpeed (YoloSpeed(06-095) Removes gamespeed changes and time stops.)
  • ZeroEclExtensions (ZeroEclExtensionsWIP(06,07,08,18) Adds new ECL instructions) Party Parrot's Patches Repository
  • LEPARROT (Turns Everything Sources into Party Parrot! Support for TH15!)
  • LoDDK_with_LEPARROT ((TH15) Boss Rush With DDC And LoLK Combined LEPARROT!) This Repository maybe have some bgm and bullets edits
  • DoubleMix (A th13 patch then can have the Original music with the Spirit world version (tip: this patch is a test).)
  • GFWPhantasm (An Phantasm Stage for GLW)
  • Red-Eyed_Marisa ((Made by RGamesOfficial) Restock the marisa from the th18.5 title screen in dialogues.)
  • Th18LilyWhiteSpriteFix (Lily White card sprite with the th16 Lily White sprite.) shirokura's Repository
  • bgm_dbu ([th15-th16]Replace original themes with dBu music's arrange)
  • th18_card_effect_chs (Replace the original with direct instructions(zh-chs)) yeashie
  • GreatBedWar (Great Bed Wars) redirectto's patches
  • Bossonly (Boss Rush mode without midbosses (MoF-UM) Save folder = Bossonly_redi)
  • Bossrush (Boss Rush mode (MoF-UM) Save folder = Bossrush_redi)
  • BraviOCOkina_th16ufos (UFOs on BraviOCOkina patch (HSiFS) Save folder = BraviOCO_UFOs)
  • Full_Battles (Let you face every attack pattern regardless of the shottype or decision made (SA,DDC,HSiFS))
  • Remove_text (Replaces all MSG files for almost empty ones (MoF-UM)) Revenant's Touhou hacks
  • ShowRank (Show current rank value during gameplay (TH06-08, 10-12)) Wish's Scripts
  • subhatred (Subterranean Hatred in ECL base)
  • subhatred_en (Subterranean Hatred in ECL (English))
  • subhatred_jp (Subterranean Hatred in ECL (Japanese))
  • um_extra (UM Extra? - Joon patch) Guy's patches
  • blob (Replaces BGM by Thomas Light's wonderful Blob Opera renditions (+minor graphical changes).)
  • greenscreen (Replaces graphical elements to easily key them out for transparent screenshots of patterns. Invincibility is recommended.)
  • sightseeing (Removes stage logic and player sprites to take pictures of the backgrounds.)
  • slap (Keeps Remi's name out their fucking mouthes) Project 6 (a.k.a. Touhou Project: Google Translate Edition)
  • th10gte (Strong East Wind - Rock of Faith (a.k.a. Touhou 10: Google Translation Edition)) Some projects.
  • FestivalCreationCdI (Un mod créé avec Lance#7161(Sprites, dialogues et autres) et MLM3#1370(Musique) à l'occasion du Festival de Créations du serveur francophone "Le Café des Illusions" sur le thème de Touhou 7 et du printemps !)
  • ModCdI (My first mod ever,for th13 (unfinished, probably) efjekfjedjekfjefbased on some people on the Café des Illusions discord server) Kogasa's Mods
  • EnemyNotification (EnemyNotification (13-18, 14.3) Mod that makes the enemy marker more visible in some of the later games.)
  • INRandomMod (INRandom (08) Mod that adds the Aki sisters, Nitori, Takane, Kaguya, and Doremy to Touhou 08 Imperishable Night)
  • KogasaMod (Kogasa Mod (08) Mod that adds Kogasa, Koishi, Satori, Mugetsu, and Gengetsu to Touhou 08 Imperishable Night)
  • OkuuMod (OkuuMod (17) Mod that adds Utsuho Reiuji to Touhou WBaWC.)
  • ReimuHsifs (ReimuHsifs (06-18) Mod that makes Reimu's homing bullets look like the ones from Hsifs.)
  • ReimuHsifsPlus (ReimuHsifsPlus (13-18) ReimuHsifs mod but makes the bullets behave like hsifs too (perma homing).)
  • RinSatsukiMod (RinSatsuki (06) Mod that adds Rin Satsuki to Touhou EOSD Embodiment of Scarlet Devil)
  • YukariCtcMod (YukariCtc (07) Mod that replaces Yukari's PCB theme with the CTC Night Falls ~ Evening Star and Ran's theme with her ghostly field club one.) TESM's Patches
  • 15Kaizo (15Kaizo)
  • 15KaizoDLC (Kaizo 15 DLC)
  • AltJessPH (AltJessPH)
  • Data10 (Touhou 10 Kaizo)
  • PC98R (PC98 Reimu in touhou 18 stage 4 + Flandre on extra stage) Clb184 stuff
  • PlayableHatate (TH09. Replaces Aya A sprites with Hatate sprites)
  • SeihouYuka (TH09. Replaces Yuuka sprites with her Kioh Gyoku sprites.)
  • ctk-731-midi (TH06-07-(08)-09. Replaces the BGMs with recordings of MIDIs of the games played on my Casio CTK-731.)
  • th17ep_ssg ((TH17 E+): (WIP) Shuusou Gyoku in ECLPlus, Extra Stage available only with Reimu Bossfight.) Wasted mods
  • 100Christmas ((th185) A small Christmas mod featuring a replacement of Takane with Doremy with 3 new spellcards, stage background replacement and a bit enemy waves modification)
  • RemiRetexture ((th11) A retexture mod that replace Marisa with Remilia)

Building your own patch server

As of the 2014-01-26 build, thcrap includes a Python script to assist in building your own self-updating patch server, where you can publish your own patches while having full control over them. While this may sound pretty involved, it really is not that complex – we deliberately designed the system in such a way that no specific server software is required. Anything that uses the HTTP protocol and allows for arbitrary files to be stored and served to the Web while retaining their file names and directory structure can be used.

You don't even have to pay for webspace in order to do this; there are a number of free cloud storage providers that work just as well. Below, you can find tutorials on how to set up your own repository on one of these. All these tutorials are written for Windows only, but if you use a different operating system, you should have no trouble adapting them. ☺


To explain the terminology:

  • First, we have patches. These are basically just unordered collections of files that provide replacements for certain original game data. One patch can provide data for an unlimited number of games.
  • Patches are grouped in repositories. These are in turn collections of all the different patches offered and controlled by one person or community.

You start by creating a repository, then one or more patches, which you then regularly publish on a server.

Local setup

First, you need to think of a globally unique, short ID for your repository. This could simply be your name, or the name of your community. For the sake of this tutorial, we'll call it RepoDir.

You also need to do the following:

  1. Download and install Python.svg Python 3, if you don't have it already. Be sure to make a note of the path it gets installed to.
    (This is the programming language the repository build script is written in.)
  2. Create a new directory named RepoDir inside your thcrap directory.
    This will be your local repository path, where all your patch development will take place.
  3. Inside RepoDir, create a new directory for each of your patches, named after their respective short ID. We'll use PatchDir as an example.

Patch setup

For each patch, create a file named patch.js in RepoDir\PatchDir. This is mandatory, the build script won't recognize the patch otherwise.

All files with a JS extension are JSON format files. You can validate their syntax using sites like JSONLint.


These are set using the dependencies array in patch.js, and ensure that the configuration tool automatically pulls in all required functionality for your patch.

Dependency statements have the form repo_id/patch_id. repo_id is optional - leaving it out will resolve the given patch first on your repository, then globally across all repositories a user has discovered. Be careful, this might have unintended consequences when used with a patch not in your repository.

Some of the patches from the network you may want to bundle are:

  • nmlgc/base_tsa: The basic technical support for Windows Touhou games. If your patch targets any of these games, make absolutely sure to include this one in some way! Otherwise, the configuration tool may not pull it in and the resulting configurations may not work!
  • nmlgc/script_latin: Contains a font with sufficient Unicode coverage for Latin, Greek and Cyrillic scripts, some settings to make it look as nice as possible for every game, as well as Hepburn romanizations for common terms and images.
  • nmlgc/western_name_order: Exactly what it says – Western name order for the enemy names during boss battles.
  • thpatch/lang_en: Not only does this give you our up-to-date English translation, it also ensures that any other dependencies for a translation patch (such as all three patches mentioned above) will be present when selecting your patch in the configuration tool.

A basic configuration for a translation patch using a non-English Latin script language:

{ "dependencies": [ "nmlgc/base_tsa", "nmlgc/script_latin", "nmlgc/western_name_order" ] }

Pulls in all of the above (and maybe even more in the future) plus the English translations:

{ "dependencies": [ "thpatch/lang_en" ] }


If your patch includes custom fonts, register them using the fonts object. This is a simple list of every font file name to load before starting the patched game:

{ "fonts": { "Font1.ttf": true, "Font2.otf": true } }

(thcrap does not look at the actual value of the key, true in this example.)

OK, and how do I do X?

Well, thcrap can do a lot of things. ☺ Until we have described them all, your best bet is to look at how our patches do the things you intend to do. If you still have questions, just visit our IRC chat, ask us, and we'll be glad to help you.

Server setup

The rest of this tutorial differs depending on the webspace or server provider you use.

Using GitHub.png GitHub

This is the recommended option. It will keep your repository under a revision control system and thus store the entire history of your patches, which can then be viewed nicely on the GitHub website. We are also thinking about adding direct Git support to the thcrap updater in the future, which would make this setup even simpler.

If you're already familiar with Git: Just run every time before you commit. If you aren't, how to set it up on Windows:

  1. Make sure you have version 2014-05-08 or later of thcrap. This build introduces some important changes to the repository script which make GitHub support possible in the first place. Also make sure that and it's contents are in the same directory as your patches. Otherwise you will get an error that repo_update is missing.
  2. Register a new free account on GitHub if you don't have one yet.
  3. On your dashboard, create a new repository with the default settings. Its name does not necessarily have to correspond with the name you chose for RepoDir in your local setup.

    GitHub Tutorial 02 - Dashboard.png

    GitHub Tutorial 03 - New repo.png

  4. Download and install the GitHub Windows client and log in with your GitHub account.
  5. In the Options menu, set the default storage directory to your thcrap directory, and put your name and e-mail address in the configure git section.

    GitHub Tutorial 05 - Login.png

  6. Clone the repository you created on GitHub into your thcrap directory.
    If your local repository directory shares its name with the one on GitHub, this will fail. In that case, just rename your local directory temporarily, then move all of its contents into the newly created directory after the cloning process is complete.

    GitHub Tutorial 06 - Clone.png

  7. In the newly cloned directory, create a file named Update.bat, which you will use to launch thcrap's update script:

C:\path\to\python.exe ..\scripts\
Then run Update.bat and set the basic parameters of your repository. The repository ID should be the same as its directory name, and the public URL for GitHub is:

GitHub Tutorial 07 - repo update.png

That's it for the basic setup. After you have made some edits to your patches, this is how you publish them:

  1. Run Update.bat.
  2. Open the GitHub client and navigate to your patch repository. This should give you all changes since the last commit as well as the option to create a new one.
    Be sure to do this immediately after running the update script! If you run thcrap with the patch you are editing before committing, the updater will overwrite your changes with the last state on the server! As of 2017-02-05, automatic updates are automatically disabled if the patch is located inside a git repository.
  3. Verify the changes you are about to commit. If everything went fine, each file you changed should now have a different checksum in the files.js file of the affected patches:

    GitHub Tutorial 08 - Commit.png

  4. Then, simply click commit to master, followed by publish, and your changes are live.

Making your repository known

In order for your patch to be seen and able to be used by others globally, there are generally three methods:

  • After your repository has been uploaded, anyone else can then discover it by calling thcrap_configure with your URL as a command-line parameter.
  • If you have a own website, blog, etc., you can upload a custom version of the thcrap archive containing the repo.js file inside your local repository directory. This is generally not recommended, though
  • The best method, however, is to contact us on discord.png Discord and tell us your repository URL to get listed in the Touhou Patch Center network as one of our neighbors.