Sign in to follow this  
Followers 0
xzaz

TS admin [Unfinished]

1 post in this topic

#include <GUIConstants.au3>
#Include <GuiList.au3>
#include <Array.au3>
Opt("GUICoordMode", 1)
Opt("GuiOnEventMode",1)
Opt("TCPTimeout",100)

;Setting the vars
$Line = 0
$waittime = 5 ;Howmuch ms for refresh resv
$SA_login = 0
$Disconnect = 1
;Globals
Global $recvwin,$begin,$SA_login,$socket,$IP,$Port,$serverlist,$Disconnect,$Array2
Global $GUI1,$GUI2
;Startup the TCP/UDP


;Create GUI
$GUI1 = GUICreate("Teamspeak",580,300)
GUICtrlCreateLabel("Consol line:",10,8)
$input = GUICtrlCreateInput("",100,5,200,25)
GUICtrlSetState(-1,$GUI_FOCUS)
$recvwin = GUICtrlCreateEdit("",10,30,400,255)
$butt = GUICtrlCreateButton("Send",310,5,80,20)
GUICtrlSetState(-1,$GUI_DEFBUTTON)
$butt_reset = GUICtrlCreateButton("Reset",400,5,80,20)
$butt_SAlogin = GUICtrlCreateButton("SA login",490,5,80,20)
$IP = GuiCtrlCreateInput("10.0.0.3",415,240,70)
$Port = GuiCtrlCreateInput("51234",490,240,45)
$butt_Connect = GUICtrlCreateButton("Connect",415,265,80,20)
$butt_DisConnect = GUICtrlCreateButton("Disconnect",500,265,80,20)
$butt_fs = GUICtrlCreateButton("Find servers",415,75,80,20)

$listview = GUICtrlCreateCombo ("",415,30,157)
GUICtrlSetData(-1,"Help|Player list|Channel list|Version|Global information|Server information|Message to server|Message to user|(SA)Send Message (all servers)|Login to server", "") 

$serverlist = GUICtrlCreateCombo ("",415,50,157)
GUICtrlSetState($input,$GUI_DISABLE)
GUICtrlSetData($input,"Not connected to server")
GUICtrlSetState($recvwin,$GUI_DISABLE)
GUICtrlSetState($butt,$GUI_DISABLE)
GUICtrlSetState($butt_SAlogin,$GUI_DISABLE)
GUICtrlSetState($butt_reset,$GUI_DISABLE)
GUICtrlSetState($butt_fs,$GUI_DISABLE)
GUICtrlSetState($listview,$GUI_DISABLE)
GUICtrlSetState($serverlist,$GUI_DISABLE)


GUISetOnEvent($GUI_EVENT_CLOSE, 'quit')   
GUICtrlSetOnEvent($butt_DisConnect, 'disconnect')
GUICtrlSetOnEvent($butt_Connect, 'connect')
GUICtrlSetOnEvent($butt_fs, 'findservers')
GUICtrlSetOnEvent($butt, 'sending')
GUICtrlSetOnEvent($butt_reset, 'reset')
GUICtrlSetOnEvent($butt_SAlogin, 'LoginSA')
GUICtrlSetOnEvent($listview, 'listview')
GUICtrlSetOnEvent($serverlist, 'serverlist')

GUISetBkColor(0xA3A3CB)


GUISetState(@SW_SHOW,$GUI1)

;Begin check every x seconds for new output
$begin = TimerInit()
#Region Loop
    ;begin loop
    While 1
        Sleep(100)
         
                        ;Check the differentce
                        $dif = TimerDiff($begin)
                        if $disconnect = 1 Then 
                        
                        Else
                            if $dif > $waittime Then
                                recv()
                                ;begin reset
                                $begin = TimerInit()
                            EndIf
                        EndIf
                    
       
       
   
        ;End Loop
    Wend
#EndRegion End Loop

#Region Functions

func serverlist()
                            $serverselect = GUICtrlRead($serverlist)
                            SetConsole("Login on TS server: "&$serverselect)
                            sending_list("sel "&$serverselect)
                            
EndFunc

func listview()
                        $data_list = GUICtrlRead($listview)
                                    Select
                                    Case $data_list = "Version"
                                        sending_list("ver")
                                    Case $data_list = "Channel list"
                                        sending_list("cl")
                                    Case $data_list = "Server information"
                                        sending_list("si")
                                    Case $data_list = "Global information"
                                        sending_list("gi")
                                    Case $data_list = "Player list"
                                        GUI2()
                                    Case $data_list = "Help"
                                        sending_list("Help")
                                    Case $data_list = "(SA)Send Message (all servers)"
                                        $msg_send = InpuTBox("Message to all servers","Typ the message to be send")
                                        sending("msgall "&$msg_send)
                                    EndSelect
EndFunc

func LoginSA()
    $SAinfo = InputBox("Login SA","<Username> <password> " & @CRLF &" Example: Jhon Myserverpass","","*")
    TCPSend($socket,"slogin " & $SAinfo & @CRLF)
EndFunc

func reset()
     GUICtrlSetData($recvwin,"")
EndFunc

func findservers()
    Sleep(300)
                        $disconnect = 1
                        SplashTextOn("Getting serverlist","Finding server list....",200,25,-1,-1,0,"",10)
                        TCPSend($socket,"sl"  & @CRLF)
                        Sleep(300)
                        $recv = TCPRecv($socket, 100000)
                            $Array = StringSplit($recv,@CRLF)
                            
                        _ArraySort( $Array,1,1)
                        _ArrayDelete($Array,0)
                        _ArrayDelete($Array,0)
                        $rules = UBound($array)-1 
                            for $i=$rules to 0 step -1
                                
                                if $Array[$i]= "" then 
                                    _ArrayDelete($Array,$i) 
                                Else 
                                    GuiCtrlSetData($Serverlist,$Array[$i],$Array[0]) 
                                EndIf
                                
                            Next
                            $disconnect = 0
                        SplashOff()
EndFunc

func connect()
                        TCPStartUp()
                        SetConsole("Connecting to:" &GUICtrlRead($IP)&":"&GUICtrlRead($Port))
                        $socket = TCPConnect( GUICtrlRead($IP), GUICtrlRead($Port))
                        recv()
                        If $socket = -1 Then 
                            SetConsole("Error! No TeamSpeak server found")
                        Else
                            
                        GUICtrlSetState($input,$GUI_ENABLE)
                        GUICtrlSetData($input,"Type: 'Help' for commands")
                        GUICtrlSetState($recvwin,$GUI_ENABLE)
                        GUICtrlSetState($butt,$GUI_ENABLE)
                        GUICtrlSetState($butt_SAlogin,$GUI_ENABLE)
                        GUICtrlSetState($butt_reset,$GUI_ENABLE)
                        GUICtrlSetState($butt_fs,$GUI_ENABLE)
                        GUICtrlSetState($listview,$GUI_ENABLE)
                        GUICtrlSetState($serverlist,$GUI_ENABLE)
                        $load_vservers = msgBox(4,"Question","Do you want to load the virtual servers?")
                        if $load_vservers == 6 Then
                            findservers()
                        endIf
                        EndIf
                        
                        $disconnect = 0
EndFunc

func disconnect()
                    sending("quit")
                    TCPShutdown ( )
                    TCPCloseSocket($socket)
                    SetConsole("Disconnected")
                    GUICtrlSetState($input,$GUI_DISABLE)
                    GUICtrlSetData($input,"Not connected to teamspeak server")
                    GUICtrlSetState($recvwin,$GUI_DISABLE)
                    GUICtrlSetState($butt,$GUI_DISABLE)
                    GUICtrlSetState($butt_SAlogin,$GUI_DISABLE)
                    GUICtrlSetState($butt_reset,$GUI_DISABLE)
                    GUICtrlSetState($butt_fs,$GUI_DISABLE)
                    GUICtrlSetState($listview,$GUI_DISABLE)
                    GUICtrlSetState($serverlist,$GUI_DISABLE)
                    
                    $Disconnect = 1
EndFunc



Func SetConsole($Text)
    $Line = $Line + 1
    GUICtrlSetData ($recvwin, $Text & @CRLF, $Line)
EndFunc 

Func recv()
     _GUICtrlListClear ($recvwin)
    $recv = TCPRecv($socket, 100000)
    if $recv <> "" Then
    SetConsole($recv)
EndIf
EndFunc

func sending($send_data)
    $send_data = GUICtrlRead($input)
    TCPSend($socket,$send_data  & @CRLF)
EndFunc

func sending_list($send_data)
    TCPSend($socket,$send_data  & @CRLF)
EndFunc


func GUI2()
                                        $GUI2 = GUICreate("Test",300,300)
                                        
                                        $okbutton = GUICtrlCreateButton("close",5,5)
                                        $findusers = GUICtrlCreateButton("Find",30,30)
                                        GUICtrlSetOnEvent($okbutton, "close_window")
                                        GUICtrlSetOnEvent($findusers, "findusers")
                                        
                                        GuiSetState(@SW_SHOW,$GUI2)
EndFunc

func findusers()
                                        TCPSend($socket,"pl"  & @CRLF)
                                        Sleep(300)
                                        $recv = TCPRecv($socket, 100000)
                                        $Array2 = StringSplit($recv,@CRLF)
                                        _ArraySort( $Array2,1,1)
                                        _ArrayDelete($Array2,0)
                                        _ArrayDelete($Array2,0)
                                        _ArrayDelete($Array2,0)
                                        
                                        $rules = UBound($array2)-1 
                                    
                                        for $i=$rules to 0 step -1
                                                if $Array2[$i] = "" Then
                                                    _ArrayDelete($Array2,$i) 
                                                    
                                                Endif
                                                
                                            Next
                                        
                                    

$lines = Ubound($Array2) -1
msgBox(0,"Lines",$lines)
_ArrayDisplay($Array2,"test")
Local $Info[UBound($Array2)-1]
For $x = 0 To $lines
    msgBox(0,"|Test",$Array2[$x])
    $Split = StringSplit($Array2[$x], '""',1)

    if isarray($Split) and  UBound($Split)>2 then $Info[$x]=$Split[2]
Next
_ArrayDisplay($Info, "Test for $Info")
                                                
                                        
                                        
                                        
endFunc

func close_window()
GUIDelete($GUI2)
EndFunc


Func quit()
    Switch @GUI_WinHandle
        Case $GUI1
            Exit
        Case $GUI2
            GUIDelete($sub)
    EndSwitch
EndFunc

func msg($zeg)
    msgBox(0,"Test",$zeg)
Endfunc
     

#EndRegion End Functions

Small program to control your TS server. I use it sometimes, but it aint finished. So do wat you want to do with it <_<

Share this post


Link to post
Share on other sites



Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0