Results 1 to 4 of 4

Thread: Linux External Editor API

  1. #1

    Linux External Editor API

    I can't send any commands to the editor API on linux. Receiving commands works fine, but no control can be sent back to TTS

    EDIT: Looks like there is already a report from another user here with some additional debugging info

    This is on Arch Linux via Steam (tested with both native libraries and the included Steam runtime libraries) version 11.0.1
    Last edited by mangofeet; 11-26-2018 at 08:48 PM.

  2. #2
    To expand on this

    This works when I open the script editor on a deck in the basic cards table

    Code:
     % nc -l -p 39998          
    {
      "scriptStates": [
        {
          "name": "Deck",
          "guid": "e91f30",
          "script": ""
        }
      ],
      "messageID": 0
    }
    Trying to send a command to TTS however does nothing


    Code:
    nc 127.0.0.1 39999 <<EOF
    {"messageID":3,"guid":"e91f30","script":"self.setPosition({1,10,1})"}   
    EOF

    No port seems to be open

    Code:
     % nmap 127.0.0.1/32 -p 39998-39999
    Starting Nmap 7.70 ( https://nmap.org ) at 2018-11-26 11:31 MST
    Nmap scan report for localhost (127.0.0.1)
    Host is up (0.000079s latency).
    
    PORT      STATE  SERVICE
    39998/tcp open   unknown
    39999/tcp closed unknown
    
    Nmap done: 1 IP address (1 host up) scanned in 0.11 seconds

  3. #3
    This issue still exists on 11.1 hotfix 1

  4. #4
    If you create a single player game and load something from the workshop with a lot of assets (I used a gloomhaven mod to test), the socket remains open until all assets are loaded. It appears that during this time, the API is fully functional.

    I opened a listen TCP socket on 39998 with "ncat -l 39998 -k" and could see a message after the assets all loaded. You can also connect to 39999 before the assets load and send something like "{"messageID": 0} and get a response on the other connection.

    Once all assets are loaded, the 39999 socket closes and you can no longer send messages to TTS. You still receive updates about new objects and the like on 39998, though.

    When started with logging enabled (Just add "-log" to the launch options), you can see a whole host of error messages. Of particular note are probably these messages, which appear just after the assets finish loading:
    Code:
    (Filename: ./Runtime/Export/Debug/Debug.bindings.h Line: 48)
    
    LuaEditorJob terminated.
     
    (Filename: ./Runtime/Export/Debug/Debug.bindings.h Line: 48)
    
    Operation on non-blocking socket would block
    After those messages, the socket closes. It would really be great if a developer could look into this, since it doesn't look like we can do anything about it. Short of decompiling TTS and fixing it ourselves. Considering this bug has been around for years, I am not very hopeful, though...

Similar Threads

  1. External API should return API info
    By MastroLindo in forum Scripting Suggestions
    Replies: 0
    Last Post: 03-19-2018, 04:44 PM
  2. obtaining json from external site
    By poposhka in forum Scripting
    Replies: 2
    Last Post: 11-29-2017, 05:24 PM
  3. External Integration Bug - Linux
    By RobertJordan in forum Scripting
    Replies: 2
    Last Post: 09-17-2017, 04:30 PM
  4. Copy/paste from external software not working (Ubuntu)
    By JeevesBond in forum Bug Reports
    Replies: 3
    Last Post: 11-10-2016, 03:40 PM
  5. [SOLVED] External Microphone not working !
    By GalAxxxel66 in forum Technical Support
    Replies: 1
    Last Post: 04-22-2016, 08:15 PM

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •