Server-owner runbook

Set up TT Interactive Minecraft for multiplayer

Use this guide when friends or the public will join the same Paper server as the streamer. The ready-made package starts with solo-friendly access, including automatic OP on join, so secure the server before anyone else connects.

Work in order. Do not open the Minecraft game port or ServerTap port until the safety gate below is complete.

Start with the safety gate

Before anyone joins

Pass this safety gate first

Keep the server stopped or inaccessible to other players while you complete these checks. The auto-OP switch prevents future grants; it does not remove OP from players who already received it.

  1. Back up the server and choose a game world

    Back up the server folder before merging plugins or changing access. TT Interactive modes deliberately affect the world and player state, so prefer a dedicated game server or a dedicated world rather than a survival world you cannot replace.

  2. Disable automatic OP before starting with players

    Create or edit plugins/TTInteractiveStreamGames/config.yml and add this exact setting:

    server:
      auto-op-on-join: false

    Save the file, then restart Paper. Do not rely on a reload for this safety change.

  3. Remove OP from anyone who should not have it

    Review the current operators and run deop PlayerName in the server console for every unintended operator. Keep OP limited to the owner or people who genuinely need full server control.

  4. Install LuckPerms before assigning TT Interactive access

    The plugin registers ttinteractive.admin, ttinteractive.play, and ttinteractive.override as allowed by default. Use the explicit LuckPerms rules in step 3 below before the server becomes reachable.

Choose the access model

Invited friends or an intentionally public server

Keep online-mode=true in server.properties for any internet-facing Java server. Then choose one of these access models.

Invited or private

Turn on the Minecraft whitelist and add each invited player. This is the right default when only friends or named collaborators should join.

/whitelist on
/whitelist add FriendMinecraftName

Run these in-game as an authorised administrator. In the server console, remove the leading slash.

Intentionally public

Do not enable a whitelist if the server is meant to accept the public. Complete every permission and OP check, keep the gameplay world replaceable, and test with a non-staff account before sharing the address.

Public Minecraft access does not require public ServerTap access. Treat the two ports as separate services.

Step 1

Install the package or merge the two plugins

Ready-made package: use the downloaded TT Interactive folder as the Paper server. Keep its existing Paper, Java, TikFinity profile, TT Interactive plugin, and ServerTap files together.

Existing compatible Paper server: stop Paper, back it up, then copy TTInteractiveStreamGames.jar and ServerTap.jar from the package's plugins folder into your existing plugins folder.

If either plugin already has a configuration folder, keep your existing files and merge the required settings deliberately. Do not replace a working server configuration with the package defaults wholesale.

Step 2

Apply the auto-OP setting and clean up operators

Confirm the safety-gate setting is present at plugins/TTInteractiveStreamGames/config.yml, restart Paper, and de-op unintended operators. Joining again must not restore their OP status.

Why this is first

With the default setting, the plugin grants OP to a joining player. Changing the setting stops future grants only; OP already written to the server remains until you remove it.

Step 3

Set explicit LuckPerms rules

Run these commands in-game while you are OP. Replace YourMinecraftName with the streamer's exact Java username. In the server console, remove the leading slash.

Default group: block management and bypass access

/lp group default permission set ttinteractive.admin false
/lp group default permission set ttinteractive.override false
/lp group default permission set ttinteractive.play true

Keep ttinteractive.play true if ordinary players should participate and read game status. Set it false instead if they should have no TT Interactive participation access.

Streamer: grant only the access they need

/lp user YourMinecraftName permission set ttinteractive.admin true
/lp user YourMinecraftName permission set ttinteractive.override true
/lp user YourMinecraftName permission set ttinteractive.play true

Repeat the user grants only for trusted staff who should manage games or bypass cooldowns and rate limits. Do not grant ttinteractive.override to the default group.

Step 4

Change the ServerTap key

Stop Paper and edit plugins/ServerTap/config.yml. Keep key authentication on and replace change_me with a long, unique value that is not reused elsewhere.

port: 4567
useKeyAuth: true
key: 'replace-with-a-long-unique-key'

Restart Paper, then enter the same value in TikFinity's ServerTap password or key field. Do not publish the key in screenshots, stream overlays, chat, or support messages.

The included ServerTap defaults also have TLS disabled, CORS set to *, and Swagger enabled. A changed key is necessary, but it does not make an openly exposed port encrypted. Never expose the shipped defaults to the public internet.

Step 5

Connect TikFinity on the local or remote path

TikFinity and Paper on the same machine

Host
127.0.0.1
Port
4567
Password
Your new ServerTap key

Keep TCP 4567 private. TikFinity can reach ServerTap through the loopback address, so no public firewall or router rule is needed for ServerTap.

TikFinity and Paper on different machines

127.0.0.1 now points to the TikFinity machine, not the Paper server. Prefer a private network, VPN, or tunnel between the two machines. If that is not available, restrict the ServerTap firewall rule to the streamer machine's source address and keep the changed key enabled.

Hosting panels and firewall controls vary. If the host cannot provide a private route or source allow-list, do not open ServerTap to everyone; ask the host how to create a restricted connection.

The Minecraft game port is for players joining the server. ServerTap port 4567 is for TikFinity talking to Paper. Opening one does not open or secure the other.

Step 6

Set the world up, then start as the streamer

Join the dedicated game world as the streamer. If the arena has not been prepared, stand at the intended location and run /tti setup. This builds the Block Boss arena and stores the setup anchor, so use it only where changing blocks is acceptable.

Start the game in-game as the streamer with /tti start <game>. An in-game start anchors the round to that player's UUID. A console start works only when a streamer UUID is already configured, so in-game is the safer normal path.

Keep ordinary players in the intended game area and tell them which world or server is disposable. Restore from the backup if a test changes anything you need to keep.

Step 7

Run one pre-live test

Use a non-staff player for the permission check and the real streamer account for the game check.

  • Restart Paper and confirm both TTInteractiveStreamGames and ServerTap load without a relevant error.
  • Join with the non-staff player. Confirm they are not OP and /tti start blockboss is denied.
  • Confirm the same player can use /tti status if ttinteractive.play is allowed.
  • Join as the streamer and run /tti start blockboss in-game.
  • Run one configured TikFinity test action and confirm the expected server effect appears.
  • Stop the round and check that the world and both player states are acceptable before inviting anyone else.

If something fails

Troubleshooting

A joining player still becomes OP
Check the file path and YAML indentation, confirm the value is false, restart Paper, then de-op the player again. The setting does not clean up an earlier OP grant.
An ordinary player can start or manage games
Re-run the default-group LuckPerms denies and check the player has not been granted ttinteractive.admin or OP through another group.
TikFinity cannot connect on the same machine
Confirm Paper and ServerTap are running, use 127.0.0.1 and port 4567, and make sure TikFinity's password exactly matches the new ServerTap key.
TikFinity cannot connect from another machine
Do not use 127.0.0.1. Check the private network, VPN, tunnel, or source allow-list between the machines. Do not solve the problem by opening port 4567 to the whole internet.
Console start reports that no online streamer was resolved
Join as the streamer and run the start command in-game. Console start requires a valid configured setup.streamer-uuid.
Players can reach Minecraft but TikFinity cannot reach ServerTap
Check the two connections separately. The Minecraft game port and ServerTap port 4567 are different services with different access rules.

Return to the Minecraft guides

Once the multiplayer checklist passes, continue with the normal setup or quick-start instructions for your installation.

Multiplayer questions

What should I do before other players join?

Pass the safety gate first: back up the server, turn off automatic OP, and remove OP from anyone who should not have it.

How do I turn off automatic OP?

Add auto-op-on-join: false under server in plugins/TTInteractiveStreamGames/config.yml, then restart Paper. Do not rely on a reload.

Can I use my survival world?

Use a dedicated game server or world instead. TT Interactive modes deliberately affect the world and player state.