TPT Multiplayer v2

  • jacob1
    18th Aug 2021 Developer 25 Permalink
    After an extensive amount of work, @LBPHacker has finished the complete rewrite of tptmp's client and server. This rewrite brings much improved stability and syncing, a better room ownership model (which now survives server restarts), an optional fps sync mechanism, a prettier UI, and more!

    If you haven't used TPT Multiplayer before, it is a fully-functional multiplayer script written in Lua, that syncs nearly every aspect of the game. There is a dedicated tptmp server hosted on starcatcher that handles connections via all players. Players can see each other's brushes, use real-time chat, and also join private rooms. Up to 20 players can join in one room at once. Brush strokes, stamps, and save loads are all synced between players. For the handful of items that don't sync, /sync in the chat window or alt+s will sync your screen to other players.

    The main server uses a room system, where each room can have multiple users playing together privately. Upon connect to the server, you will join one of the lobbies. There are two lobbies, the main lobby, and the guest lobby. The main lobby is the default for logged-in users. Users who are not logged in get sent to the guest lobby, and cannot join the main lobby. To join a private room, use /join roomname. You will then become the owner of this temporary channel, giving you permission to invite or kick players, and to register it to make it permanent. Permanent channels also have more features you can use, see below for a full list of commands.

    Installation:
    1) Open the console and type tpt.getscript(1, "autorun.lua", 1)
    2) Open the script manager via the new "Lua" button above the walls menu
    3) Click "Online", install TPTMulti, which is the first script in the list
    4) Click the "<<" icon to open the chat window, and type /connect. It will connect you to the server and place you in the lobby
    Short installation gif: https://starcatcher.us/Jacob/img/tptmp installation.webm

    These steps will install the script manager, which you will use in the future to manage tptmp and install updates.

    Some mods come with tptmp preinstalled (Jacob1's mod, Cracker1000's Mod, TPT-Ultimata). These are not required to use tptmp, the instructions above work in an unmodified, vanilla client. If you are using these mods, you may still need to use the script manager to get the most up-to-date version of tptmp when updates are released.

    Here is a short gif of me and my cousin jacob2 playing tptmp together. You can see as it renders jacob2's brush strokes, active element, and option changes in real time, making it look like we are actually playing in the same room together!
    tptmp2 demo

    Rules:
    The main tptmp server at tptmp.starcatcher.us is moderated by the TPT moderators, mostly @LBPHacker and @jacob1. We can monitor the chat while not present in the server, and respond to messages. We can kick or ban users who violate the rules, even in private channels. We can also intervene in channel ownership issues if necessary.
    1. Please ensure you create a positive experience for all players. Do not spam, annoy, lag, or harass other players while on the server. Please also follow all TPT Rules
    2. Do not intentionally lag other players
    3. Do not spam elements. Do not constantly draw over or erase things other players are doing, or constantly spam things with a large brush
    4. Do not spam the chat. The chat is rate limited to one message per second, and is meant for holding conversations, not spam
    5. Do not make inappropriate drawings
    6. Do not swear. Some words will be blocked by the server, do not try to avoid the filter
    7. Do not bring bots onto the server or bring other unapproved script edits onto the server

    This is not an exhaustive list of rules. Please see rule 1, creating a good experience for all players is the most important rule. If you are repeatedly annoying to other players, you may be kicked or banned.

    Contacting a moderator:
    TPTMP does not have in-game moderation. Instead, moderation is handled by TPT Moderators via an external management system. This system lets us read and reply to chat, and do moderation. We usually direct our chat to specific channels, but can also send messages to specific players asking them to cut out bad behavior. To send a message that only a mod can read, use /smsg.
    If no TPT Moderator is around and your message goes unread, consider sending a PM on the forums. The most active moderators are me and LBPHacker. We will read your message and can reply and take action as needed. Do not use this thread for moderation issues, as we have a forum rule against public ban requests.
    While waiting for a response, we highly recommend joining a private room and using /invite on other members. The lobby is inherently chaotic and uncontrollable, since everyone joining is dumped into it. A private room will let you play TPTMP in a more controlled environment.

    Command Reference:
    • /alpha <alpha>: Changes the window opacity. Use a value between 0 (entirely clear) and 255 (entirely black).
    • /clear: Clear the chat window
    • /floating on/off/check: Enables or disables floating mode. Floating mode shows new chat messages even when the chat window is hidden, and allows you to press 't' to bring up the chat window
    • /connect [host[:[+]port]] (alias: /C): Connect to the server. No arguments, "/connect", to connect to the default server
    • /connectroom <room> [host[:[+]port]] (alias: /CR): Connect to the server and join a specific room, instead of the lobby
    • /disconnect (aliases: /quit, /D, /Q): disconnect from the server
    • /fpssync on/off: Turns fps syncing on or off. Your fps will be synced with other players who turn this setting on. Default: off. You can also use /fpssync on to target a specified fps
    • /help <command>: Get help on a command
    • /list: List all commands. Lists server-side commands if connected to a server
    • /me: Talk in 3rd-person
    • /names: List the people in the room with you
    • /ncseed [seed]: Set the nick color seed. Changing the value will reassign nick colors on your client.
    • /reconnect: Reconnect to the most recently visited server
    • /size <width> <height>: Sets the size of the chat window
    • /sync (alias: /S): Synchronizes your screen with all other players. Use this if your client is out of sync with other players' screens. Shortcut: Alt+s


    Server command reference:
    • /join <room> (alias: /J): Joins a private room
    • /back (alias: /B): Go back to the room you were in previously
    • /lobby (alias: /L): Rejoin the lobby
    • /online: List the amount of online players and amount of active rooms
    • /seen <player>: Returns the last time a certain player was seen
    • /msg <player> <message>: Send a private message to a player
    • /reply <message> (alias: /R): Sends a private message to the last person who sent you a private message
    • /block:
      • /block insert <player>: Adds a player to your block list. They will be unable to send you private messages, and you will be unable to see their public messages. Special case /block insert Guest#* will block all guest users
      • /block remove <player>: Removes a player from your block list.
      • /block check <player>: Checks if a player is in your block list.

    • /register: Registers a private room, making it permanent, persisting even when nobody is around
    • /unregister: Unregisters a private room, if you are an owner
    • /room: Shows complete information about a room, including registration status, owner lists, and invite lists
    • /self: Shows complete information about a yourself, including the rooms you own and the rooms you are invited to
    • /kick <player> <reason>: Kicks a player from the room, if you are an owner. They will be put into the "kicked" lobby
    • /motd <motd>: Sets the motd in the room you are in. With no arguments, clears the motd
    • /owner:
      • /owner insert <player>: Shares ownership of a room with another player. They will share full control of the room, including the ability to remove you
      • /owner remove <player>: Removes ownership of a room from another player
      • /owner check <player>: Checks if a player is an owner of the current room
      • /owner temp <player>: For non-permanent channels, transfer ownership to someone else

    • /private:
      • /private set: Sets the current room to private. A private room can only be joined by owners or players in the invite list. Temporary rooms cannot be private
      • /private clear: Makes the current room non-private
      • /private check: Checks if the current room is private

    • /invite:
      • /invite insert <player>: Adds a user to the invite list. When the channel is private, only invited users can join.
      • /invite remove <player>: Removes a player from the invite list.
      • /invite check <player>: Checks if a player is in the invite list.

    • /accept: Accept an invite. This will immediately join you to the room you were last invited to
    • /smsg <message> (alias: /pray): Sends a private message to the server admins. Useful for holding conversations with us, if we are online


    Bonus: You may also find this very old album interesting, lots of screenshots of us having a ton of fun together in the original tptmpv1: https://imgur.com/a/WYUDd
    Edited 21 times by jacob1, LBPHacker. Last: 27th March
  • the_power_toy
    18th Aug 2021 Member 1 Permalink

    this looks so much better

  • jacob1
    30th Aug 2021 Developer 3 Permalink
    TPT Version 96.2 has been released, which fixes the random disconnect bug on Windows. The tptmp server accepts both 96.1 and 96.2 clients.

    A new version of tptmp with some additional features and bugfixes will be released soon.
  • jacob1
    3rd Sep 2021 Developer 1 Permalink
    tptmp version 2.0.20 was released. Actually, it was released a few days ago, but nobody ever posted about it here. If you haven't tried tptmp before, now is the perfect time to try it out.

    Changelog:
    Add /floating mode. New chat messages will show on screen even while the chat window is hidden
       While in floating mode with chat hidden, press 't' to bring up the textbox and send a message
    Fix air mode sometimes being changed to "No Update", even when offline
       tptmp no longer touches the simulation at all when offline
    Version number is now shown in the chat window
    Fix nameless magenta elements being shown in element search
    Reset initial fps cap on disconnect when using /fpssync
    Only display FPS sync messages if it's enabled locally
    Display MOTD set / cleared messages in a neutral colour
    Edited once by jacob1. Last: 3rd Sep 2021
  • blow-it-up-boiii
    3rd Sep 2021 Member 0 Permalink

    wow!

  • sealon_musk
    3rd Sep 2021 Member 0 Permalink

    Does this work for android?

  • LBPHacker
    3rd Sep 2021 Developer 0 Permalink
    Nope.
  • oioioioioi
    3rd Sep 2021 Member 0 Permalink

    Wait so jacob2 is actually ur cousin?

  • jacob1
    3rd Sep 2021 Developer 1 Permalink
    @oioioioioi (View Post)
    Of course, there is no other possible explanation for that image.

    @sealon_musk (View Post)
    There are too many differences, it would not be simple to support Android. Also the chat wouldn't work, because the entire game would be paused while typing in a message, making tptmp unviable.
    Edited 2 times by jacob1. Last: 3rd Sep 2021
  • Ganjun
    4th Sep 2021 Member 1 Permalink

    i sucsessfully downloaded the mod, sadly no one was there.