ServerMod / MultiAdmin

SCP: Secret Labratory Server modification to support different configs per instance plus a whole lot of other features

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

tmux send-keys command cant press enter in MultiAdmin

agent188 opened this issue · comments

  1. Start the game server via MA in tmux session
  2. Wait for the game server to load
  3. We send the command with pressing enter via the tmux command: tmux send-keys -t SCPSL:0 "/pm reload" Enter
  4. Result: the command cannot be sent without forcibly pressing Enter via ssh
    изображение

Tmux version: tmux 3.0a
MA Version: 3.4.0.0-alpha
use_new_input_system: false cant fix problem

Did this happen in the earlier versions?

On the release version of MultiAdmin, this was not the case

On version 3.3.1.1-alpha is not playable bug

Alright, I'll look into this later today, thanks for reporting 👍

Unhandled Exception:                                                                                                                                                   
System.ArgumentOutOfRangeException: Value must be positive and below the buffer height.                                                                                
Parameter name: top                                                                                                                                                    
  at System.TermInfoDriver.SetCursorPosition (System.Int32 left, System.Int32 top) [0x0003e] in <d13c8b563008422a8c5aaec0a74089cc>:0                                   
  at System.TermInfoDriver.WriteSpecialKey (System.ConsoleKeyInfo key) [0x00062] in <d13c8b563008422a8c5aaec0a74089cc>:0                                               
  at System.TermInfoDriver.Echo (System.ConsoleKeyInfo key) [0x0001d] in <d13c8b563008422a8c5aaec0a74089cc>:0                                                          
  at System.TermInfoDriver.ReadKey (System.Boolean intercept) [0x00011] in <d13c8b563008422a8c5aaec0a74089cc>:0                                                                                
  at System.ConsoleDriver.ReadKey (System.Boolean intercept) [0x00000] in <d13c8b563008422a8c5aaec0a74089cc>:0                                                                                 
  at System.Console.ReadKey (System.Boolean intercept) [0x00000] in <d13c8b563008422a8c5aaec0a74089cc>:0                                                               
  at MultiAdmin.ServerIO.InputHandler.GetInputLineOld (MultiAdmin.Server server, System.Threading.CancellationToken cancellationToken) [0x0008a] in <3f42baba8ce0450ea0673582420ebb59>:0 
  at MultiAdmin.ServerIO.InputHandler.Write (MultiAdmin.Server server, System.Threading.CancellationToken cancellationToken) [0x0014b] in <3f42baba8ce0450ea0673582420ebb59>:0                 
  at System.Runtime.CompilerServices.AsyncMethodBuilderCore+<>c.<ThrowAsync>b__7_1 (System.Object state) [0x00000] in <d13c8b563008422a8c5aaec0a74089cc>:0             
  at System.Threading.QueueUserWorkItemCallback.WaitCallback_Context (System.Object state) [0x00007] in <d13c8b563008422a8c5aaec0a74089cc>:0                                                   
  at System.Threading.ExecutionContext.RunInternal (System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, System.Object state, System.Boolean preserve
SyncCtx) [0x00071] in <d13c8b563008422a8c5aaec0a74089cc>:0                                                                                                             
  at System.Threading.ExecutionContext.Run (System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, System.Object state, System.Boolean preserveSyncCtx)
 [0x00000] in <d13c8b563008422a8c5aaec0a74089cc>:0                                                                                                                     
  at System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem () [0x00021] in <d13c8b563008422a8c5aaec0a74089cc>:0              
  at System.Threading.ThreadPoolWorkQueue.Dispatch () [0x00074] in <d13c8b563008422a8c5aaec0a74089cc>:0                                                                                        
  at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback () [0x00000] in <d13c8b563008422a8c5aaec0a74089cc>:0                                                                         
[ERROR] FATAL UNHANDLED EXCEPTION: System.ArgumentOutOfRangeException: Value must be positive and below the buffer height.                                                                     
Parameter name: top                                                                                                                                                                            
  at System.TermInfoDriver.SetCursorPosition (System.Int32 left, System.Int32 top) [0x0003e] in <d13c8b563008422a8c5aaec0a74089cc>:0                                                           
  at System.TermInfoDriver.WriteSpecialKey (System.ConsoleKeyInfo key) [0x00062] in <d13c8b563008422a8c5aaec0a74089cc>:0                                                                       
  at System.TermInfoDriver.Echo (System.ConsoleKeyInfo key) [0x0001d] in <d13c8b563008422a8c5aaec0a74089cc>:0                                                                                  
  at System.TermInfoDriver.ReadKey (System.Boolean intercept) [0x00011] in <d13c8b563008422a8c5aaec0a74089cc>:0                                                                                
  at System.ConsoleDriver.ReadKey (System.Boolean intercept) [0x00000] in <d13c8b563008422a8c5aaec0a74089cc>:0                                                                                 
  at System.Console.ReadKey (System.Boolean intercept) [0x00000] in <d13c8b563008422a8c5aaec0a74089cc>:0                                                                                       
  at MultiAdmin.ServerIO.InputHandler.GetInputLineOld (MultiAdmin.Server server, System.Threading.CancellationToken cancellationToken) [0x0008a] in <3f42baba8ce0450ea0673582420ebb59>:0       
  at MultiAdmin.ServerIO.InputHandler.Write (MultiAdmin.Server server, System.Threading.CancellationToken cancellationToken) [0x0014b] in <3f42baba8ce0450ea0673582420ebb59>:0 
  at System.Runtime.CompilerServices.AsyncMethodBuilderCore+<>c.<ThrowAsync>b__7_1 (System.Object state) [0x00000] in <d13c8b563008422a8c5aaec0a74089cc>:0                                     
  at System.Threading.QueueUserWorkItemCallback.WaitCallback_Context (System.Object state) [0x00007] in <d13c8b563008422a8c5aaec0a74089cc>:0                                                   
  at System.Threading.ExecutionContext.RunInternal (System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, System.Object state, System.Boolean preserve
SyncCtx) [0x00071] in <d13c8b563008422a8c5aaec0a74089cc>:0                                     
  at System.Threading.ExecutionContext.Run (System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, System.Object state, System.Boolean preserveSyncCtx)
 [0x00000] in <d13c8b563008422a8c5aaec0a74089cc>:0                                             
  at System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem () [0x00021] in <d13c8b563008422a8c5aaec0a74089cc>:0                                      
  at System.Threading.ThreadPoolWorkQueue.Dispatch () [0x00074] in <d13c8b563008422a8c5aaec0a74089cc>:0                                                                                        
  at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback () [0x00000] in <d13c8b563008422a8c5aaec0a74089cc>:0                                                                         
st

Okay, so a temporary workaround to this issue should be setting hide_input to true, I'll continue to look into the cause of this issue and see if I can implement a more proper workaround into MultiAdmin. Thank you for the stacktrace.

Actually, you mentioned that use_new_input_system: false doesn't work, does use_new_input_system: true work at all?

Yes, it works, but the problem persists

Hmmm... I'm wondering if this might actually be an issue with Mono itself? I'll look into it further and let you know.

use_new_input_system: true
hide_input: true
cant send command via tmux

use_new_input_system: false
hide_input: true
I also can't send a command via tmux

This issue should be resolved at this point by using console_input_system: Original on MultiAdmin v3.4.0.1 and up. Please re-open this if the issue persists.