Nuclear Throne Together


Page Contents

Nuclear Throne Together (NTT) is a mod on PC that gives support for online co-op for up to 4 players, where base NT only has 2 player local co-op. It also serves as a mod loader in a much more streamlined process, which the vast majority of mods now use.

This mod was developed by YellowAfterLife (YAL) who first released it in June 2016. A a post on his website outlined how this was done. NTT also included many bugfixes that existed in the base game, which eventually led Vlambeer to reach out to YAL to help develop update 99, the story of which is outlined here. YAL continues to work on u99r2 to this day, and its beta branches are usually updated side by side with NTT v100.


NTT Versions


NT and NTT save files are separate from each other, so downloading NTT or opting into its Steam branch will not effect your save file. Achievements are disabled while playing NTT.

NTT has had many versions over the years, however for simplifcation only 3 versions matter to most players. These builds are all compatible for Windows. If using Steam on Linux, consider using Proton. If on another platform or using Mac, consider using WINE.

If playing on Steam there is a way to opt-in to the ntt_development branch, which is the most up to date NTT version. This is known as v100, and it has the most up to date content and bugfixes. Many mods may break while using this version, so it's generally best for vanilla NTT or simple mods (like grillskills). Online co-op has its fair share of desyncs as well. (Steam branches 2021 openbeta and 2023 beta do not have a compatible NTT version - they can just opt into v100.)

Most PC versions will want to download v9940 located here. This is the latest version compatible with u98 and u99r1 and is generally the best for online co-op as desyncs are the least frequent. The installation includes a readme file on how to install, if still having trouble installing there is also an online faq.

While the website lists explicit support for Steam/GOG/Humble, v9940 seems to work for every PC build of the game. The exception to this is Windows Xbox app version, which does not have a compatible NTT version.

v9944 is a NTT beta that can also be downloaded through the itch.io page. It is compatible with the Steam branch 'modbranch_2021'. This is generally the best for singleplayer mods, but it has a complicacted download process in order to work.

v9944 installation
  1. Opt into the modbranch_2021 beta. (Instructions)
  2. Install a fresh version of v9940 using this modbranch.
  3. Launch v9940 once.
  4. Install v9944 in the same way - do not tamper with any files inbetween these steps.
  5. v9944 can now be launched, though switching betas may cause it to break.
  6. To avoid this make a copy of the folder for v9944 access.

Extra information/version bugs:


Co-Op Setup


Co-op in NTT allows from 2 to 4 players online and locally. Online play relies on peer to peer connection, so if a player has an unstable connection it will lead to lag issues.

If NTT is assembled through a Steam build (or opted into v100), the game will automatically connect through Steam. This is the easiest method for co-op, as a public/private lobby can be made for friends on the same version to join with no further setup necessary. (If wanting to join a non-Steam friend, there is a 'Use Steam' option found in the co-op menu.)

Playing on non-Steam versions will require connecting by IP in order to play with each other online. This can be done by port forwarding or connecting through a virtual network.

Non-Steam Connecting

This guide is a brief step by step walkthrough for connecting through a virtual network. While port forwarding is an option, this is a much more simple method.

Section written by mufina on the NT Discord:

  1. Download ZeroTier.
  2. ZeroTier will appear on your task tray.
  3. Wait for the Host to give you the network ID to join the network.
  4. Once Host has begun the session, wait for them to give their managed ip to you.

Host:

  1. Make an account on the website.
  2. Make a network.
  3. Make the network public.
  4. Give the users your Network ID.
  5. Host a game.
  6. Give the users your managed IP.

Make sure you both have joined the network. By default, NTT's port is 5394.

ZeroTier will show the host your physical IP on the website. Long distances will cause major ping, mostly 1000-3000ms.

If it doesn't work, it's either a firewall, different game version, ZeroTier not up-to-date or something completely different.


After players are connected the game will automatically toggle the delay to match players ping, though can be manually adjusted as well. Hitting the start button will initiate the character selection screen.


Co-op Commands

/ultras [coop/own/all] Sets what ultras are seen when reaching max level.
  • Coop: Only shows the coop ultras.
  • Own: Only shows the character-specific ultras.
  • All: Shows both coop and character-specific ultras.
    • Picking a coop ultra will prevent taking any character-specific ultras.
/sideload Enables loading files in co-op lobbies, which is required by all players in order to load mods.

Only the player loading in the mod needs to have it downloaded in order to load it into the lobby.
/revmode [normal/soft/legacy/hard] Sets the type of revive mode for when a player dies.
  • Normal: Dead players must be walked over within 10 seconds or alive players get damaged.
  • Soft: Dead players can be walked over whenever to be revived.
  • Legacy: Opening a health chest will revive dead players.
  • Hard: Dead players are revived upon completing a loop.


Mods Setup


The other core feature of NTT is the ability to play mods. Most major mods are uploaded to itch.io. This page sorts it by popular, so the mods heaviest on content will be near the top. Older NTT mods were originally uploaded here, but they may be outdated.

Any mods downloaded should be placed within the 'mods' folder located in the same folder that NTT was assembled in. A quick way to find this on Steam is by right clicking Nuclear Throne in library -> clicking Properties -> Installed Files -> Browse. If there is no mods folder already, then one can be simply created.

Once in-game the chat can be opened using the 'T' button, or the '/' button to open chat with a slash. Mods can be loaded in-game by using various '/load' commands into the chat. This will depend on the type of mod, but typing in '/load' will preview any other load commands. The most common commands will be '/load [mod name]' if it uses a folder, or '/loadmod [mod name]' if it's a single file. From here it will inform the player if the mod was loaded or not, and the run can be started/resumed.

Using the up arrow while chat is open will cycle through previously sent commands, ignoring other messages sent.

If lag is ever experienced in singleplayer on v9940 (usually when running larger mods), one quickfix is to run NTT-assemble and toggle offline mode on.

Mods can be loaded automatically any time NTT is started by creating a .txt file named 'startup' and put into the mods folder. It would look like this:


NTT Game Features


One of the first obvious changes in NTT is that Frog and Skeleton now have their own slots on the select screen. Both characters have unlock conditions, however hosting an online co-op lobby will automatically unlock everything. (Not guaranteed to work.)

There are also additional character skins that are there by default:


YV C-Skin (Yung Cuz)


Robot C-Skin (Hazmat)


Skeleton B-Skin

Loadout Icon
Loadout Icon
Loadout Icon
Idle Animation
Idle Animation
Idle Animation
Walk Animation
Walk Animation
Walk Animation
Death Animation
Show
Death Animation
Show
Death Animation
Show

Using the number keys 1-6 (not on numpad) will create emote indicators that can be used for communication in co-op. Pressing the number will place the emote where the cursor currently is, and holding the number will have the emote follow the cursor until it is let go. Here are how the emotes look like in order:

NTT Emotes

Every player will have a different color outline and cursor to differentiate who they are on screen, and will also match with their HP bar. There will also be a little P1/P2/etc with an arrow above the players head. Outlines can be used in singleplayer as well.

Two other changes of note is that players are not locked to the same screen for online co-op, and that portals give small indicators of which direction they're in when they spawn off-screen.

A full list of commands can be found on the faq page. Typing slash in game will also show most commands, and '/help' will list them in categories. This table is a summary of commonly used ones.


NTT Commands

/hardmode Enables/disables hardmode in the lobby.
/outlines Enables/disables the usage of outlines.
/color [color] Changes the color of character outline and HP bar. Basic color names can be used as well as hex codes.
/ccrown [name] Changes the starting crown. Using just 'risk' or 'blood' for example works, 'none' for bare head.
/cwep [name]
/bwep [name]
cwep changes the primary starting weapon and bwep changes the secondary starting weapon.

Any weapon name or number ID works, including those that are not starting weapons.
/pwep [name] Changes what weapon is found in the proto chest. Any weapon name or ID works.

This works mid-run as long as the Vault has not been entered yet, otherwise it will only apply to the next run.

One other feature in NTT are replays, which can be rewatched inside NTT itself. These are enabled/disabled and viewed through the 'Replays' button on the co-op menu, though Singleplayer runs are also recorded when enabled.

Replays are stored locally and can be sent to other players who can watch them by putting it in their own replay folders. The replay folder can be found on Windows by hitting Win Key + R to open the run prompt, and then paste in '%localappdata%/nuclearthrone'. The replay folder can be found from here.

Replays on some NTT versions have been known to desync. One cause of this is clicking the 'Menu' button at any point in the run, even if the run isn't ended. Using the command '/exit' when a run ends will help ensure the replay is saved in full.


Modding NTT


It should be understood that NTT is one of the more advanced parts of participating in the Throne community. A bit of coding knowledge goes a long way here, first time attempts at modding may be frustrating to get working. Luckily there are many resources out there to make the process smoother for those willing to put in the effort. NT and NTT both were developed in GameMaker Studio which uses gamemaker language (or gml), which will the basis of coding here.

One of the handy tools to have will be YAL's modding faq which gives multiple links that are relevant to NTT modding. These are all really useful tools, so become familiar with each link. (Making a bookmark folder to keep track of everything can be helpful too.)

Now that the groundwork is laid, one can get familiar with how mods are coded. One of the best ways to do this is by downloading other mods that are relatively simple in nature. These can be opened in GMEDit or Notepad++ to edit, though even works with Notepad while limited. The code can be followed through to get an understanding of how it effects mechanics in game, and some lines of code can be modified to see how this would change things.

If issues are run into that are not solved by the faq above there are many online guides covering the basics of gml coding. While not all this advice may be 1:1 in how coding works with NTT, most basic problems can be solved.

There is an active modding community present on the NT Discord and is a great place to share mods with other players. Programming channels can also be used to seek advice regarding modding, but as the Discord FAQ outlines there is a server mantra to help those who help themselves - putting in the effort to solve problems on your own first.

For archivals sake - not required reading, mods used to be done on u19 (the 'mods' branch on Steam) as it was an easier version to decompile and mod. This largely fell out of favor for NTT modding, though some older mods still use it (such as Nuclear Throne Ultra). A basic guide to how u19 modding is done can be found here, though even this guide outright suggests modding through NTT.