Introduction

From Touhou Hisoutensoku
Jump to navigation Jump to search

Welcome to this guide which will get you started on how to make Touhou Hisoutensoku's (A.K.A. Soku) netplay work. Our aim in writing this guide is not to make you become a good player, or teach you the basics of how to play, but to teach you how to play with someone online. We will point you to the tools required to netplay in correct conditions, as well as a step by step guide on how to connect to people or how to host (provided your connection lets you host).


How to set up the game

To netplay with people, you will need the following:

Required:

  • The game Touhou 12.3 Hisoutensoku patched to version 1.10a (this version is mandatory, 1.10 wont work with Sokuroll 1.3). You can get the update here
  • The game Touhou 10.5 Scarlet Weather Rhapsody (A.K.A. SWR). It does not need to be patched to the latest version.
  • The full unlock+save, which you can obtain here

Optional, but HIGHLY recommended:

  • Sokuroll 1.3, which you can obtain here. This is the rollback netplay client which enables much smoother netplay. It is in use by the majority of players. Note that you cannot play users on the rollback client without having it installed and running it yourself.
  • Autopunch, an application that allows users to host without port forwarding. See Autopunch. Note that, like SokuRoll, you cannot play against a user using Autopunch without using it yourself.
  • The Rewired mod, which can be applied to Soku to add lobby functionality. You can download it from this link and install it by applying it to your existing Soku installation.
  • The english patch if you want here. You do not need to have SWR patched to english for Soku to be patched in english.

Unlocking all the characters and cards

  • A full unlock+save, can be obtained here

Download the above file and place it in your Soku folder, overwriting any existing score123.dat with this one. This will make sure all cards and characters are unlocked; in particular Okuu and Suwako.

Linking SWR (10.5) and Soku (12.3)

Incorrectly Linked
Correctly Linked

You need SWR because Soku is really an add on to it. If you don't link them together, only half the cast will be available and you won't be able to join those with the full version. You can tell if you have successfully joined then together by going to Practice or vs Com or vs Player on the title screen; you will see the whole cast or just part as per the images to the right. Note that you do not need to unlock every characters in SWR for Soku to have all its characters.

To link them, you need to put the relative or absolute path to your SWR folder inside the configex123.ini file your Soku folder

To do this:

  • Open <soku folder>\configex123.ini with notepad or another plain text editor
  • Find the line which says [th105path]
  • Below that there should be a line saying path=
  • Modify this line to give the relative or absolute path of the 10.5 folder.
    • The first character on the line should be the p of path, there should be no preceding spaces and especially no # before it.
  • Save the file and reload Soku.

Linking Example

If you have the following install:

 C:\Games\Touhou\SWR\th105.exe
 C:\Games\Touhou\Soku\th123.exe

Then you would:

  • Open C:\Games\Touhou\Soku\configex123.ini
  • change the line to be either
    • path=C:\Games\Touhou\SWR (absolute path) or
    • path=..\SWR (relative path)

The second way is better as it allows you to move the games somewhere else and they will still find themselves as long as they are both in the same parent folder. The ..\ in the second version instructs the game to go up one level (out of the Soku folder) and then find SWR in that parent.

If you successfully linked the game, the full cast should be available to you as per the second image on the right. Note however that Okuu and Suwako will still not appear until you have the unlocked score123.dat (see above). Those are the two right-hand most characters on the upper incorrectly linked image.

Applying SokuRoll

  • The current latest version of Sokuroll is 1.3, and it can be obtained here.
  • Download it, and put the DLL and ini file, together with the loader, into the same directory as th123.exe.

Sokuroll is a loader that injects itself into Soku. It will improve the netplay of the game, notably by including something called rollbacks and the implementation of a better netcode. It essentially allows a smoother netplay between two people, even across continents, making even US West coast to Europe or South America to US playable. Without Sokuroll, this would not be as playable and would include noticeable lag.

To use Sokuroll:

  • First launch Soku using either the english version or the original version
  • Then run the Sokuroll loader.

You should see this in the taskbar of your soku:
Title bar.png
Or if you have no Japanese fonts installed or run under EN locale, you may see this
Title no jp.jpg

Note in either case, the Ver1.10ac+ R 1.3 which shows that Sokuroll is indeed running. The Japanese or gibberish writing you may see before ver1.10ac+ R 1.3 is normal, the important part being what was just highlighted.

Before you net-play for the first time

Visible Delay and FPS

We suggest that you turn on visible FPS in the game so you can see the net-delay (especially important if you are hosting). This will show you two things during matches (not on the title or char-select screens):

  • The current FPS in the bottom-right hand corner of the game window
  • The current network delay in the bottom-left hand corner of the game window

To turn on visible FPS, go to Config on the main screen, and make sure FPS Display (6th down) is set to On.

Creating a profile

To make a file, got to the Profile option on the main page and choose Create New or Rename to alter the name of an existing profile. We recommend that you use a profile with the same name as your IRC name if you play on #hiouten, though this isn't necessary. Try to pick a unique name though; profile1p is not a good name and will make people think you are trolling.

Later you may wish to configure your decks. To do this, use the Deck Construction option from the Profile menu. The default decks are pretty bad, but it also helps to have played a bit vs others to see which cards/skills are good to use. When you are ready to configure this, We suggest reading up on the page dedicated to your preferred character using the links under Characters in the bar to the left of this page.

Net/game etiquette

  • Before stopping (after the last game), especially if you have no written contact with the opponent, press the B button (defaults to X on keyboard) twice - you will hear the game go `bang bang'.
    • This enforces you mean to leave now, so your opponent is not wondering whether your net suddenly cut out.
  • Always say 'last' if you have verbal communication between you and your opponent before starting the last game you want / have-time-to play. If you do not, it's semi-customary to either hit B once or 4 times before selecting your char for the final game. Be careful with just 2 as the opponent may take that for "good games" (see below) if you do not select quickly.
    • This lets your opponent know in advance you intend to stop after this game.
  • In chat (if applicable) after playing, it is customary to say "good game(s)" (or "ggs"), or "thank you for the games" (or e.g. "tyfg").

Finding Games

With the creation of in-game hostlist (see the "Using in-game hostlist" section), you can join players without having be in a Discord server. However, there are many communities dotted around the web if you prefer to be able to talk directly to your opponents. See the Discord Servers List for a comprehensive community list.

Joining an existing game (no port-forwarding required)

If you already opened Soku, you want to choose the VS Network option to take you to the Network screen.

Make sure that you have a profile not called player1p and have got SokuRoll running as described above. You can change to a different profile here (though not configure/rename it) using the Select Profile option in the Network screen.

The easiest way is to copy your host's IP and port in the format IP:port (e.g. 86.102.34.55:10800) to your clipboard. Usually Ctrl+C in most programs on Windows; or highlight the text, right-mouse-click and choose 'Copy' from the pop-up. You can practice with the one to the left, though it won't lead anywhere. Choose Connect to IP from Clipboard in the Network screen.

If for some reasons you can't copy the IP, you can enter it manually through Assign IP/Port and Connect to server by entering it using your directions (arrows on keyboard, gamepad...).

If you have a valid IP and port on the clipboard, the game will ask you to confirm it, and then ask whether you want to play (Yes) or spectate (No). The game will not make any move to connect until you have answered these two questions. You'll get a Connecting... message as the game attempts to contact the host. If you did not have a valid IP and port, the game will make a sound and do nothing.

This can result in Connection Failed on connect if any of the following happens:

  • Your own network connection is broken (check whether you can connect to the net or not...).
  • The host has stopped advertising the game (already played, or given up waiting).
  • The host is not using roll and you are, or vice-versa.
  • The host has a fully unlocked (all chars) game, and you do not (see Linking the games, above; the other way round is fine, but you will both only get the shortened cast list).
  • The host does not have his/her network set up right e.g. not forwarded the port through NAT.
  • The host is behind a VPN or firewall that is blocking your connection.

Once you connect, if you choose to play, the game screen will darken and go to char select. You should see your host's profile name against Player 1; and you will play as player 2.

If the host already has an opponent, the game will comment that the host is Already Playing, do you wish to spectate? in which case you can choose No to try another host, or Yes to spectate. Some hosts will disallow spectating, in which case you will get a message saying Spectating is not allowed when you try to do so. Other hosts have weird network glitches on spectating which may result in the infamous Connection Failed. This always indicates a net error; not that spectating was disabled. You may check if a game has started without connecting by first answering you do not want to play, which will then prompt the game to ask if you wish to spectate.

Hosting a game (port forwarding or hamachi required)

Before you can host (at least without hamachi) you must make sure both your firewall and router are allowing incoming UDP connections on the port you choose to host on. The default port is 10800.

For details on how to set up port forwarding {TBD}

Choose "'Server Setup'" from the Network menu and pick a port to host on, or go with the default 10800. This port must be forwarded through your router if you are behind NAT.

As a convenience, you should paste your IP and port somewhere so opponents are able to easily connect. See joining above.

In #hisouten on IRC, you can use the !host trigger to advertise yourself as hosting, and then !unhost to say you are no longer doing so for more info, see the #hisouten bot help page. Elsewhere you may wish to google my ip address to let google tell you what your externally facing IP is; then manually add the port to this number.

When someone connects to play, a bell sound will ring and you will be taken to the character select screen.

Controlling the delay with SokuRoll

As the host, you have control of the network delay level with Sokuroll. By default it binds NumPad+ to increase the delay and NumPad- to decrease it. This can be altered by modifying SokuRoll's config file SokuRoll.ini. See the SokuRoll_Readme.txt which accompanied the dll for more information on this.

The delay is shown in the bottom left hand corner of the screen assuming you have visible FPS enabled (see above). Each delay number (0-9) introduces 1 frames of delay (~17ms) between you pressing an input and that input being acted on. If the delay is too low, the game will stutter a lot, and you may get frequent roll-backs. If it is too high, the game and the inputs will feel `spongey' for want of a better word and you will have a very hard time reacting to anything that is going on. Normally a delay of 4 is about right for EU-NA or NA-SA, and 6 for EU-SA. This will vary based on the quality of your own and your opponent's net.