Touhou Patch Center:Servers
|About||Tutorial||FAQ||Patch servers||Download||Patch overview||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.
|thpatch.net main server||http://srv-origin.thpatch.net/|
As the main server, srv.thpatch.net 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 3.0 Unported.
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 firstname.lastname@example.org, 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 mirrors.thpatch.net. This is highly recommended in order to keep your patches available in case the original host happens to go down.
|http://thcrap.nmlgc.net/repos/nmlgc/||Nmlgc's patch repository||
(missing support for TH07 and TH08))
(by sibgamer, http://tinyurl.com/real-bullet-size))
|https://raw.githubusercontent.com/Ghildrean/touhou-es-es/master/||Traduccion al castellano||
|https://raw.githubusercontent.com/Gamer251/thcrap-gamer251/master/||The Amateur Modder||
This mod has a few bugs in the fighting games.)
|https://raw.githubusercontent.com/soap925/BurntToast-Mod-Stockhouse/master/||BurntToast12's Mod Stockhouse||
|https://raw.githubusercontent.com/Zrrg/UnKnwn/master/||UnKnwn Thcrap Repository||
|https://raw.githubusercontent.com/DTM9025/DTM/master/||DTM's Patch Repository||
|http://mirrors.thpatch.net/PookChang'e/||Pook Chang'e's Patches||
|https://raw.githubusercontent.com/Tearff/Tear/master/||Tear's Touhou Mods||
|https://raw.githubusercontent.com/GhostPhanom/GhostPhanom-Thcrap/master/||GhostPhanom's strange thoughts||
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:
You start by creating a repository, then one or more patches, which you then regularly publish on a server.
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:
For each patch, create a file named patch.js in RepoDir\PatchDir. This is mandatory, the build script won't recognize the patch otherwise.
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:
A basic configuration for a translation patch using a non-English Latin script language:
Pulls in all of the above (and maybe even more in the future) plus the English translations:
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:
(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.
The rest of this tutorial differs depending on the webspace or server provider you use.
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 repo_update.py every time before you commit. If you aren't, how to set it up on Windows:
C:\path\to\python.exe ..\scripts\repo_update.py pause
That's it for the basic setup. After you have made some edits to your patches, this is how you publish them:
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: