A new, better multiplayer!

  • Geniusz1
    25th Dec 2019 Member 0 Permalink

    Dear players!


    I'm sure that almost all of you use Cracker64's TPT Multiplayer. But now, it's time to change! The old TPTMP no longer meets our expectations. We need more useful tool!

    And here comes...

    a Christmas gift from me for you all...


    The EssentialChat by Geniusz1

    It's a modification of Cracker64's TPT Multiplayer.



    • Current channel displayed in the top left corner - very useful!
    • 'SEND' button - useful when you don't want or can't use the enter key,
    • Openable settings - by clicking '++' button you can use the UI instead of writing hard to remember commands,
    • 'Auto-connect on start' checkbox - you don't have to type /connect every time opening TPTMP,
    • '/reconnect' command - sometimes you just want to rejoin,
    • 'Freeze the chat' checkbox - it stops receiving new messages, so you can freely scroll the chat searching for what you need; to receive messages again (also the missed ones), just uncheck the checkbox
    • COPY/PASTE - probably the most useful thing; by clicking the 'Paste from clipboard' button you can paste the text you have in your clipboard; by selecting a line with '<', 'last' and '>' buttons and clicking 'Copy to clipboard line no. [ ]' you can copy selected line, provided by '>> ' mark,
    • 'Autocomplete usernames' - if you type first 3 letters (case insensetive) of somebody's username who is online, it will suggest you to autocomplete the username; click enter to accept autocompletion; use up and down arrow to choose between multiple choices; very useful when want to kick someone with a long username!



    This should be the new standard for TPT Multiplayer! Don't wait! Check it out by clicking the link below!


    EssentialChat by Geniusz1


    If you find a bug, you can tell me about it, but remember that there's no perfect things in this world!

    Enjoy and Merry Christmas!


                   Znalezione obrazy dla zapytania: christmas tree png"


    Edited 3 times by Geniusz1. Last: 26th Dec 2019
  • LBPHacker
    25th Dec 2019 Developer 0 Permalink

    I'd like to remind everyone that the TPT staff has no control over scripts posted to pastebin and they may contain anything from viruses to all the horrors of H. P. Lovecraft.


    If the official multiplayer script doesn't meet your expectations and you don't have code, open an issue on GitHub. If you do have code, open a pull request. Rolling your own, with a ton of code from the official, then posting it on pastebin of all places is not the way to go about this.


    I'm not going to tell you to not make an unofficial client (though those who actually maintain the official version and the server may), but there are perfectly sound reasons for *not* making one, the fact that you're going to have to keep up with protocol changes yourself and the fact that nobody is going to help you with that being only two of them.


    Please contemplate this.

  • Geniusz1
    25th Dec 2019 Member 0 Permalink

    I just wanted to improve the TPTMP with features that Cracker64's script doesn't have. It could be an option to open a pull request or something, but I wanted to do something by myself, I think it's not bad. Also, I think Cracker64 wouldn't pay attention to my suggestions, but I may be wrong.

    Those, who don't want to use my script for some reasons, won't simply use it. But there may be some who do want to.


    Edited once by Geniusz1. Last: 25th Dec 2019
  • BokkaB
    25th Dec 2019 Member 0 Permalink

    ,,Palpatine333" said me that you want to join my ecology group. True or false?

  • Geniusz1
    25th Dec 2019 Member 0 Permalink

    True. But please send me a conversation, it's not a thread for this.

  • jacob1
    25th Dec 2019 Developer 0 Permalink
    Do you have a github account? If so, I'd recommend creating a pull request with some of these changes: https://github.com/The-Powder-Toy/tptmp
    (if not, you should create an account and make one anyway).

    This has a few great features, and a few not-great features. The ones I want the most are
    Current channel displayed in the top left corner - basic QoL improvement, really should have done this already. The lobby channel is actually called 'null', not 'lobby'
    'Auto-connect on start' checkbox - also nice QoL. Although I was thinking a connect button could be added instead where the "current channel" goes, maybe
    'Freeze the chat' checkbox - perhaps it should do this by default whenever you scroll up? And then unfreeze when you get to the bottom of all the new text. This is how most scrollable text history windows work
    COPY/PASTE - I think the only reason I don't have this already is for spam reasons. But the server has some anti spam and rate limiting now anyway ... so it might be fine? The shortcut for paste should be ctrl+v, and for copy should be ctrl+c to copy the contents of the entire textbox. For copying message history, maybe that could be click, or double click, on the text
    'Autocomplete usernames' - I recommend adding tab completion support. This feature would be nice.

    Anyway, then there are a few not so good things that I wouldn't want in a pull request:
    Username change - changing your username violates tptmp rules. Any time I see someone doing this, I block them from changing usernames. It could also lead to a ban if you keep doing it, or use it for impersonation reasons. Please remove this feature from your script.
    Openable settings - imo clutters it too much. I see it can be opened or closed, but I've never seen the need for a settings menu like that on tptmp.

    I mostly agree with @LBPHacker. If you want a feature in the tptmp client, just ask. If you know how to code it, open a pull request, so that it's in the official client and everyone can use it.
    I'm already contemplating protocol changes to block the "username change" feature. If you had asked, I would have said this is against tptmp rules.

    And for users, be wary of scripts like this. I haven't double checked to make sure it can't do anything nefarious. I doubt it, but, you never know. A custom script like this will also cause issues when I later update tptmp officially. I think users should just wait for these features to be added to the official client instead.
    Edited 2 times by jacob1. Last: 25th Dec 2019
  • Geniusz1
    25th Dec 2019 Member 0 Permalink

    I don't know what problem you have. My friends really liked my script and no longer want to use Cracker64's. Ok, you don't have to like it. I made it for users and I'm sure they like it so much. I'm proud of me because I have improved my programming skills and I'm very happy that I helped my friends and made them happy. And this is the most important thing.

    Edited once by Geniusz1. Last: 25th Dec 2019
  • jacob1
    25th Dec 2019 Developer 0 Permalink
    @Geniusz1 (View Post)
    Never in my post did I say I didn't like your script. I asked for you to get some of these changes merged into the official version, so everyone could use it. I think some of these changes are great, I haven't done much development on tptmp recently, besides syncing fixes. The user interface hasn't been touched in years, and this is finally improving that.

    The only feature I wanted removed is the username changes. Everything else is fine. I was also warning you and other users that there could be issues using this unofficial script when the official tptmp is updated.
  • Geniusz1
    25th Dec 2019 Member 0 Permalink

    My goal was to make my version of TPTMP and I have achieved this goal. I will remove  the username change, as you want. I made it because my friend used to avoid accounts and didn't want to make one, so it was hard to chat when he was a guest, I didn't always know if he is him and it was very uncomfortable to chat when there were other guests in the room.

    I thought devs don't pay attention to feature suggestions like those in my script, simply because they are not implemented yet. Really, no user ever suggested you or Cracker to make a copy/paste, autocomplete usernames or current channel displayed in corner (btw. I know the lobby is actually 'null' but it's better to just display 'lobby' instead of 'null', isn't it?). Also I think devs don't care about the suggestions as much as they should because they have a lot of other work and don't have time to focus on a script they wrote years ago.

    I will open that pull request. But it's obvious that you are way better programmer than me and you can write it better.


    Also, notice that the enter key press isn't working on all devices. This is why I made the SEND button. On my Windows tablet, I can't send messages with the enter key. (and yes, the enter key works properly in other cases).

    Edited once by Geniusz1. Last: 25th Dec 2019
  • jacob1
    25th Dec 2019 Developer 0 Permalink
    @Geniusz1 (View Post)
    Thanks :)
    If there are issues in the PR I can fix them, or redo it how I'd like. If you don't want to bother with the PR I could implement them myself, although then it wouldn't credit you on GitHub via your account.

    Hmm, would make sense to rename the lobby to lobby instead of null, I guess.

    If you want to give a private version of the username changing to that user, that might be fine. It's a simple edit to change username in the official script though. And I'm still thinking of finally adding that method to block username edits server side, so the private version may not last long. Perhaps I should ensure people get a consistent guest Nick when joining without an account.