View difference between Paste ID: UavTvskD and ngZV9zNJ
SHOW: | | - or go back to the newest paste.
1
#region ;**** Directives created by AutoIt3Wrapper_GUI ****
2
#AutoIt3Wrapper_Icon=Resources\Diamond Icon.ico
3
#AutoIt3Wrapper_Outfile_x64=..\..\Desktop\Bungee Server Launcher.exe
4-
Global $hwnd0, $hwnd1, $hwnd2, $hwnd3, $hwnd4, $hwnd5, $servers, $file0, $file1, $file2, $file3, $file4, $file5
4+
#endregion ;**** Directives created by AutoIt3Wrapper_GUI ****
5-
$Gui = GUICreate("KnarCraft MineCraft Server Client -Made by Kristian Knarvik/EpicKnarvik97", 945, 170, 0, 0)
5+
6-
$Tab1 = GUICtrlCreateTab(8, 8, 930, 110)
6+
7
#include <GuiComboBoxEx.au3>
8
#include <Constants.au3>
9
#include <ProgressConstants.au3>
10
#include <GuiStatusBar.au3>
11
#include <WindowsConstants.au3>
12
Global $hwnd0, $hwnd1, $hwnd2, $hwnd3, $hwnd4, $hwnd5, $servers, $backupdir, $file0, $file1, $file2, $file3, $file4, $file5, $chosen2, $chosen3, $Combo3, $Read3
13
$Gui = GUICreate("MineCraft Server Client -Made by EpicKnarvik97", 450, 170, 0, 0)
14
$Tab1 = GUICtrlCreateTab(8, 8, 435, 110)
15
16
$TabSheet1 = GUICtrlCreateTabItem("Basic Controls")
17
$Label1 = GUICtrlCreateLabel("Server(s) are closed", 10, 125)
18
$StartG = GUICtrlCreateButton("Start Server", 10, 35, 75, 25)
19-
$aboutitem = GUICtrlCreateMenuItem("About", $helpmenu)
19+
20-
$TabSheet2 = GUICtrlCreateTabItem("Config")
20+
21
$KickG = GUICtrlCreateButton("Kick", 87, 35, 75, 25)
22-
$Checkbox1 = GUICtrlCreateCheckbox("Hide Console", 20, 85, 97, 25)
22+
23
$BanG = GUICtrlCreateButton("Ban", 164, 35, 75, 25)
24
$UnbanG = GUICtrlCreateButton("Unban", 164, 60, 75, 25)
25
$OPG = GUICtrlCreateButton("OP", 241, 35, 75, 25)
26
$DEOPG = GUICtrlCreateButton("DEOP", 241, 60, 75, 25)
27
$CCG = GUICtrlCreateButton("Custom Command", 225, 86, 91, 25)
28
$addw = GUICtrlCreateButton("Add to Whitelist", 318, 35, 115)
29
$delw = GUICtrlCreateButton("Remove from Whitelist", 318, 60, 115)
30
$backup = GUICtrlCreateButton("Backup", 318, 86, 115)
31
$helpmenu = GUICtrlCreateMenu("Help")
32
$setupitem = GUICtrlCreateMenuItem("Setup", $helpmenu)
33
$help = GUICtrlCreateMenuItem("Warning", $helpmenu)
34
$info = GUICtrlCreateMenu("Info")
35
$aboutitem = GUICtrlCreateMenuItem("About", $info)
36
$How = GUICtrlCreateMenuItem("How does it work?", $info)
37
38
$TabSheet2 = GUICtrlCreateTabItem("Server Config")
39
$Combo1 = GUICtrlCreateCombo("Server Memory", 10, 35, 161, 25, $CBS_DROPDOWNLIST)
40
$Checkbox1 = GUICtrlCreateCheckbox("Hide Console", 180, 120, 97, 25)
41
$Bungee = GUICtrlCreateCheckbox("Bungee", 175, 35, 97, 25)
42
$server1 = GUICtrlCreateCheckbox("Enable Server 1", 175, 60, 97, 25)
43-
	Global $chosen = GUICtrlRead($Combo1), $chosen2 = GUICtrlRead($Combo2), $args = GUICtrlRead($Command_Arguments), $nMsg = GUIGetMsg()
43+
44
$server3 = GUICtrlCreateCheckbox("Enable Server 3", 300, 35, 97, 25)
45
$server4 = GUICtrlCreateCheckbox("Enable Server 4", 300, 60, 97, 25)
46
$server5 = GUICtrlCreateCheckbox("Enable Server 5", 300, 85, 97, 25)
47
$DelConf = GUICtrlCreateButton("Delete all configurations and exit", 10, 120, 160, 25)
48
GUICtrlSetData($Combo1, "-Xmx1024M|-Xmx2048M|-Xmx3072M|-Xmx4096M|-Xmx5120M|-Xmx6144M|-Xmx7168M|-Xmx8192M|-Xmx9216M|-Xmx10240M")
49
$Combo2 = GUICtrlCreateCombo("Server Type", 10, 60, 161, 25, $CBS_DROPDOWNLIST)
50
GUICtrlSetData($Combo2, "Vanilla|Snapshot|Spigot|CB Dev|CB Stable|CB Beta")
51
52
53
54
$TabSheet3 = GUICtrlCreateTabItem("Extra cmd settings")
55
GUICtrlCreateLabel("Coming Soon", 60, 50, 200, 40)
56
GUICtrlSetFont(-1, 20, 400, "", "Verdana")
57
58
ReadStats()
59
If $Read3 = "Vanilla" Then
60
	GUISwitch($Gui, $TabSheet2)
61-
				$kick = ControlSend("Server1", "", $hwnd1, 'kick ' & $args & '{ENTER}') & ControlSend("", "", $hwnd2, 'kick ' & $args & '{ENTER}') & ControlSend("", "", $hwnd3, 'kick ' & $args & '{ENTER}') & ControlSend("", "", $hwnd4, 'kick ' & $args & '{ENTER}') & ControlSend("", "", $hwnd5, 'kick ' & $args & '{ENTER}')
61+
	$Combo3 = GUICtrlCreateCombo("Choose Version", 10, 85, 161, 25, $CBS_DROPDOWNLIST)
62-
				Sleep(1000)
62+
	GUICtrlSetData($Combo3, "Latest|1.6.4|1.6.2|1.5.2|1.4.7|1.4.5")
63
	ReadStats()
64
EndIf
65
66
If $backupdir = "" Then $backupdir = FileSelectFolder("Choose Backups Location", "")
67
If GUICtrlRead($Bungee) = 1 And $file0 = "" Then $file0 = FileSelectFolder("Choose Bungee Server Location...", "")
68-
				$ban = ControlSend("Server1", "", $hwnd1, 'ban' & $args & '{ENTER}') & ControlSend("", "", $hwnd2, 'ban' & $args & '{ENTER}') & ControlSend("", "", $hwnd3, 'ban ' & $args & '{ENTER}') & ControlSend("", "", $hwnd4, 'ban ' & $args & '{ENTER}') & ControlSend("", "", $hwnd5, 'ban ' & $args & '{ENTER}')
68+
69-
				Sleep(1000)
69+
70
If GUICtrlRead($server3) = 1 And $file3 = "" Then $file3 = FileSelectFolder("Choose Server 3 Location...", "")
71
If GUICtrlRead($server4) = 1 And $file4 = "" Then $file4 = FileSelectFolder("Choose Server 4 Location...", "")
72
If GUICtrlRead($server5) = 1 And $file5 = "" Then $file5 = FileSelectFolder("Choose Server 5 Location...", "")
73
74
GUICtrlCreateTabItem("")
75-
				$unban = ControlSend("Server1", "", $hwnd1, 'pardon ' & $args & '{ENTER}') & ControlSend("", "", $hwnd2, 'pardon ' & $args & '{ENTER}') & ControlSend("", "", $hwnd3, 'pardon ' & $args & '{ENTER}') & ControlSend("", "", $hwnd4, 'pardon ' & $args & '{ENTER}') & ControlSend("", "", $hwnd5, 'pardon ' & $args & '{ENTER}')
75+
76-
				Sleep(1000)
76+
77
	Global $chosen = GUICtrlRead($Combo1), $chosen2 = GUICtrlRead($Combo2), $chosen3 = GUICtrlRead($Combo3), $args = GUICtrlRead($Command_Arguments), $nMsg = GUIGetMsg()
78
	If GUICtrlRead($Checkbox1) = 1 Then
79
		$Hide = @SW_HIDE
80
	Else
81
		$Hide = @SW_SHOW
82-
				$op = ControlSend("Server1", "", $hwnd1, 'op ' & $args & '{ENTER}') & ControlSend("", "", $hwnd2, 'op ' & $args & '{ENTER}') & ControlSend("", "", $hwnd3, 'op ' & $args & '{ENTER}') & ControlSend("", "", $hwnd4, 'op ' & $args & '{ENTER}') & ControlSend("", "", $hwnd5, 'op ' & $args & '{ENTER}')
82+
83-
				Sleep(1000)
83+
84
		Case $GUI_EVENT_CLOSE
85
			WriteStats()
86
			Exit
87
		Case $StartG
88
			If GUICtrlRead($Bungee) = $GUI_UNCHECKED And GUICtrlRead($server1) = $GUI_UNCHECKED Then
89-
				$deop = ControlSend("Server1", "", $hwnd1, 'deop ' & $args & '{ENTER}') & ControlSend("", "", $hwnd2, 'deop ' & $args & '{ENTER}') & ControlSend("", "", $hwnd3, 'deop ' & $args & '{ENTER}') & ControlSend("", "", $hwnd4, 'deop ' & $args & '{ENTER}') & ControlSend("", "", $hwnd5, 'deop ' & $args & '{ENTER}')
89+
90-
				Sleep(1000)
90+
91
				Start()
92
			EndIf
93
		Case $KickG
94
			If $servers = "RUNNING" Then
95
				$kick = ControlSend("Server1", "", $hwnd1, 'kick ' & $args & '{ENTER}') & ControlSend("Server2", "", $hwnd2, 'kick ' & $args & '{ENTER}') & ControlSend("Server3", "", $hwnd3, 'kick ' & $args & '{ENTER}') & ControlSend("Server4", "", $hwnd4, 'kick ' & $args & '{ENTER}') & ControlSend("Server5", "", $hwnd5, 'kick ' & $args & '{ENTER}')
96-
				$save = ControlSend("Server1", "", $hwnd1, 'save-all' & '{ENTER}') & ControlSend("", "", $hwnd2, 'save-all' & '{ENTER}') & ControlSend("", "", $hwnd3, 'save-all' & '{ENTER}') & ControlSend("", "", $hwnd4, 'save-all' & '{ENTER}') & ControlSend("", "", $hwnd5, 'save-all' & '{ENTER}')
96+
97-
				Sleep(1000)
97+
98
			EndIf
99
		Case $BanG
100
			If $servers = "RUNNING" Then
101
				$ban = ControlSend("Server1", "", $hwnd1, 'ban ' & $args & '{ENTER}') & ControlSend("Server2", "", $hwnd2, 'ban ' & $args & '{ENTER}') & ControlSend("Server3", "", $hwnd3, 'ban ' & $args & '{ENTER}') & ControlSend("Server4", "", $hwnd4, 'ban ' & $args & '{ENTER}') & ControlSend("Server5", "", $hwnd5, 'ban ' & $args & '{ENTER}')
102
			Else
103-
				$cc = ControlSend("Server1", "", $hwnd1, $args & '{ENTER}') & ControlSend("", "", $hwnd2, $args & '{ENTER}') & ControlSend("", "", $hwnd3, $args & '{ENTER}') & ControlSend("", "", $hwnd4, $args & '{ENTER}') & ControlSend("", "", $hwnd5, $args & '{ENTER}')
103+
104-
				Sleep(1000)
104+
105
		Case $UnbanG
106
			If $servers = "RUNNING" Then
107
				$unban = ControlSend("Server1", "", $hwnd1, 'pardon ' & $args & '{ENTER}') & ControlSend("Server2", "", $hwnd2, 'pardon ' & $args & '{ENTER}') & ControlSend("Server3", "", $hwnd3, 'pardon ' & $args & '{ENTER}') & ControlSend("Server4", "", $hwnd4, 'pardon ' & $args & '{ENTER}') & ControlSend("Server5", "", $hwnd5, 'pardon ' & $args & '{ENTER}')
108
			Else
109
				MsgBox(16, "Failure", "The server isn't running")
110-
				$stop = ControlSend("Bungee", "", $hwnd0, 'end' & '{ENTER}') & ControlSend("Server1", "", $hwnd1, 'stop' & '{ENTER}') & ControlSend("", "", $hwnd2, 'stop' & '{ENTER}') & ControlSend("", "", $hwnd3, 'stop' & '{ENTER}') & ControlSend("", "", $hwnd4, 'stop' & '{ENTER}') & ControlSend("", "", $hwnd5, 'stop' & '{ENTER}')
110+
111
		Case $OPG
112-
				Sleep(1000)
112+
113
				$op = ControlSend("Server1", "", $hwnd1, 'op ' & $args & '{ENTER}') & ControlSend("Server2", "", $hwnd2, 'op ' & $args & '{ENTER}') & ControlSend("Server3", "", $hwnd3, 'op ' & $args & '{ENTER}') & ControlSend("Server4", "", $hwnd4, 'op ' & $args & '{ENTER}') & ControlSend("Server5", "", $hwnd5, 'op ' & $args & '{ENTER}')
114
			Else
115-
			MsgBox(0, "Server Client", "This is a client that lets you easily control the server. Just click File then open and go to your server jarfile. It will be saved with your other settings under C:\Program Files (x86)\KnarCraft\Config.ini Then choose how much server memory you want to dedicate from the dropbox. If you want, you can also check the Hide Console checkbox to prevent the console window from popping up. Then just start the server with the start server button and you are good to go. The kick/ban/op buttons do what they say against the name in the text box. The save server button runs save-all and the stop server button runs stop. The custom command button allows every button you can use from the console. Just type in every command you want in the white box and hit the button. Remember. Since it's a console command, don't use / before the command.")
115+
116
			EndIf
117-
			RegDelete("HKEY_CURRENT_USER\Software\KnarCraft", "Bungee")
117+
118-
			RegDelete("HKEY_CURRENT_USER\Software\KnarCraft", "Checkbox")
118+
119-
			RegDelete("HKEY_CURRENT_USER\Software\KnarCraft", "Server1")
119+
				$deop = ControlSend("Server1", "", $hwnd1, 'deop ' & $args & '{ENTER}') & ControlSend("Server2", "", $hwnd2, 'deop ' & $args & '{ENTER}') & ControlSend("Server3", "", $hwnd3, 'deop ' & $args & '{ENTER}') & ControlSend("Server4", "", $hwnd4, 'deop ' & $args & '{ENTER}') & ControlSend("Server5", "", $hwnd5, 'deop ' & $args & '{ENTER}')
120-
			RegDelete("HKEY_CURRENT_USER\Software\KnarCraft", "Combo")
120+
121-
			RegDelete("HKEY_CURRENT_USER\Software\KnarCraft", "Combo2")
121+
122-
			RegDelete("HKEY_CURRENT_USER\Software\KnarCraft", "Loc0")
122+
123-
			RegDelete("HKEY_CURRENT_USER\Software\KnarCraft", "Loc1")
123+
124-
			RegDelete("HKEY_CURRENT_USER\Software\KnarCraft", "Loc2")
124+
125-
			RegDelete("HKEY_CURRENT_USER\Software\KnarCraft", "Loc3")
125+
				$save = ControlSend("Server1", "", $hwnd1, 'save-all' & '{ENTER}') & ControlSend("Server2", "", $hwnd2, 'save-all' & '{ENTER}') & ControlSend("Server3", "", $hwnd3, 'save-all' & '{ENTER}') & ControlSend("Server4", "", $hwnd4, 'save-all' & '{ENTER}') & ControlSend("Server5", "", $hwnd5, 'save-all' & '{ENTER}')
126-
			RegDelete("HKEY_CURRENT_USER\Software\KnarCraft", "Loc4")
126+
127-
			RegDelete("HKEY_CURRENT_USER\Software\KnarCraft", "Loc5")
127+
128-
			RegDelete("HKEY_CURRENT_USER\Software\KnarCraft", "Version")
128+
129-
			RegDelete("HKEY_CURRENT_USER\Software\KnarCraft", "SnapshotVersion")
129+
130
			If $servers = "RUNNING" Then
131
				$cc = ControlSend("Server1", "", $hwnd1, $args & '{ENTER}') & ControlSend("Server2", "", $hwnd2, $args & '{ENTER}') & ControlSend("Server3", "", $hwnd3, $args & '{ENTER}') & ControlSend("Server4", "", $hwnd4, $args & '{ENTER}') & ControlSend("Server5", "", $hwnd5, $args & '{ENTER}')
132
			Else
133
				MsgBox(16, "Failure", "The server isn't running")
134-
	RegWrite("HKEY_CURRENT_USER\Software\KnarCraft", "Bungee", "Reg_SZ", GUICtrlRead($Bungee))
134+
135-
	RegWrite("HKEY_CURRENT_USER\Software\KnarCraft", "Checkbox", "REG_SZ", GUICtrlRead($Checkbox1))
135+
136-
	RegWrite("HKEY_CURRENT_USER\Software\KnarCraft", "Server1", "REG_SZ", GUICtrlRead($server1))
136+
137-
	RegWrite("HKEY_CURRENT_USER\Software\KnarCraft", "Combo", "REG_SZ", $chosen)
137+
138-
	RegWrite("HKEY_CURRENT_USER\Software\KnarCraft", "Combo2", "REG_SZ", $chosen2)
138+
				$stop = ControlSend("Bungee", "", $hwnd0, 'end' & '{ENTER}') & ControlSend("Server1", "", $hwnd1, 'stop' & '{ENTER}') & ControlSend("Server2", "", $hwnd2, 'stop' & '{ENTER}') & ControlSend("Server3", "", $hwnd3, 'stop' & '{ENTER}') & ControlSend("Server4", "", $hwnd4, 'stop' & '{ENTER}') & ControlSend("Server5", "", $hwnd5, 'stop' & '{ENTER}')
139-
	RegWrite("HKEY_CURRENT_USER\Software\KnarCraft", "Loc0", "REG_SZ", $file0)
139+
				GUICtrlSetData($Label1, "Server(s) are closed")
140-
	RegWrite("HKEY_CURRENT_USER\Software\KnarCraft", "Loc1", "REG_SZ", $file1)
140+
141-
	RegWrite("HKEY_CURRENT_USER\Software\KnarCraft", "Loc2", "REG_SZ", $file2)
141+
		Case $backup
142-
	RegWrite("HKEY_CURRENT_USER\Software\KnarCraft", "Loc3", "REG_SZ", $file3)
142+
			Backup()
143-
	RegWrite("HKEY_CURRENT_USER\Software\KnarCraft", "Loc4", "REG_SZ", $file4)
143+
		Case $addw
144-
	RegWrite("HKEY_CURRENT_USER\Software\KnarCraft", "Loc5", "REG_SZ", $file5)
144+
145
				$addtowhitelist = ControlSend("Server1", "", $hwnd1, 'whitelist add ' & '{ENTER}') & ControlSend("Server2", "", $hwnd2, 'whitelist add ' & '{ENTER}') & ControlSend("Server3", "", $hwnd3, 'whitelist add ' & '{ENTER}') & ControlSend("Server4", "", $hwnd4, 'whitelist add ' & '{ENTER}') & ControlSend("Server5", "", $hwnd5, 'whitelist add ' & '{ENTER}')
146
			Else
147-
	$Read0 = RegRead("HKEY_CURRENT_USER\Software\KnarCraft", "Bungee")
147+
148-
	$Read1 = RegRead("HKEY_CURRENT_USER\Software\KnarCraft", "Checkbox")
148+
149-
	$Read2 = RegRead("HKEY_CURRENT_USER\Software\KnarCraft", "Combo")
149+
		Case $delw
150-
	$Read3 = RegRead("HKEY_CURRENT_USER\Software\KnarCraft", "Combo2")
150+
151-
	$Read4 = RegRead("HKEY_CURRENT_USER\Software\KnarCraft", "Server1")
151+
				$removefromwhitelist = ControlSend("Server1", "", $hwnd1, 'whitelist remove ' & '{ENTER}') & ControlSend("Server2", "", $hwnd2, 'whitelist remove ' & '{ENTER}') & ControlSend("Server3", "", $hwnd3, 'whitelist remove ' & '{ENTER}') & ControlSend("Server4", "", $hwnd4, 'whitelist remove ' & '{ENTER}') & ControlSend("Server5", "", $hwnd5, 'whitelist remove ' & '{ENTER}')
152-
	$Read5 = RegRead("HKEY_CURRENT_USER\Software\KnarCraft", "Server2")
152+
153-
	$Read6 = RegRead("HKEY_CURRENT_USER\Software\KnarCraft", "Server3")
153+
154-
	$Read7 = RegRead("HKEY_CURRENT_USER\Software\KnarCraft", "Server4")
154+
155-
	$Read8 = RegRead("HKEY_CURRENT_USER\Software\KnarCraft", "Server5")
155+
156-
	$file0 = RegRead("HKEY_CURRENT_USER\Software\KnarCraft", "Loc0")
156+
			MsgBox(0, "Server Client", "This is a sort of server controller both for bungee users, users with more than 1 server and users wanting to easily and fast change configuration or platform." & @LF & @LF & "If you are using more than one server, the settings will count for every server except for the bungee server which is set to 512M of ram and newest download from the jenkins page.")
157-
	$file1 = RegRead("HKEY_CURRENT_USER\Software\KnarCraft", "Loc1")
157+
		Case $setupitem
158-
	$file2 = RegRead("HKEY_CURRENT_USER\Software\KnarCraft", "Loc2")
158+
			MsgBox(0, "Setup Steps", "1. Choose your settings" & @LF & "2. Exit the program" & @LF & "3. Start the program" & @LF & "4. Choose the locations of your chosen servers(folder must excist)" & @LF & "5. Click the Start server button" & @LF & "Also stop the server and set them up if you are starting new servers")
159-
	$file3 = RegRead("HKEY_CURRENT_USER\Software\KnarCraft", "Loc3")
159+
		Case $How
160-
	$file4 = RegRead("HKEY_CURRENT_USER\Software\KnarCraft", "Loc4")
160+
			MsgBox(0, "How does this work?", "The program uses a lot of variables to do things to every server instead of just one." & @LF & "Everything is saved when you close the GUI." & @LF & "The server versions are downloaded from the official pages. The bukkit ones from the bukkit website, the spigot and bungee from the jenkins page. The vanilla and Snapshot versions come from a link to the amazonaws server generated using the versions file has.")
161-
	$file5 = RegRead("HKEY_CURRENT_USER\Software\KnarCraft", "Loc5")
161+
		Case $help
162
			MsgBox(0, "Warnings", "1. Always restart the program after changing settings. The only exception is server ram and servers you have chosen the directory for earlier." & @LF & "2. The program may seem like it has crashed, but it's just waiting for something to finish.")
163
		Case $DelConf
164
			RegDelete("HKEY_CURRENT_USER\Software\KnarCraft\Bungee Controller", "Bungee")
165
			RegDelete("HKEY_CURRENT_USER\Software\KnarCraft\Bungee Controller", "Checkbox")
166
			RegDelete("HKEY_CURRENT_USER\Software\KnarCraft\Bungee Controller", "Server1")
167
			RegDelete("HKEY_CURRENT_USER\Software\KnarCraft\Bungee Controller", "Server2")
168
			RegDelete("HKEY_CURRENT_USER\Software\KnarCraft\Bungee Controller", "Server3")
169
			RegDelete("HKEY_CURRENT_USER\Software\KnarCraft\Bungee Controller", "Server4")
170
			RegDelete("HKEY_CURRENT_USER\Software\KnarCraft\Bungee Controller", "Server5")
171
			RegDelete("HKEY_CURRENT_USER\Software\KnarCraft\Bungee Controller", "Combo")
172
			RegDelete("HKEY_CURRENT_USER\Software\KnarCraft\Bungee Controller", "Combo2")
173
			RegDelete("HKEY_CURRENT_USER\Software\KnarCraft\Bungee Controller", "Loc0")
174
			RegDelete("HKEY_CURRENT_USER\Software\KnarCraft\Bungee Controller", "Loc1")
175-
		$BungeeServer = Run("java -Xmx10240M -jar " & '"' & $file0 & "\BungeeCord.jar" & '"', $file0, $Hide)
175+
			RegDelete("HKEY_CURRENT_USER\Software\KnarCraft\Bungee Controller", "Loc2")
176
			RegDelete("HKEY_CURRENT_USER\Software\KnarCraft\Bungee Controller", "Loc3")
177
			RegDelete("HKEY_CURRENT_USER\Software\KnarCraft\Bungee Controller", "Loc4")
178
			RegDelete("HKEY_CURRENT_USER\Software\KnarCraft\Bungee Controller", "Loc5")
179
			RegDelete("HKEY_CURRENT_USER\Software\KnarCraft\Bungee Controller", "Version")
180
			RegDelete("HKEY_CURRENT_USER\Software\KnarCraft\Bungee Controller", "SnapshotVersion")
181
			RegDelete("HKEY_CURRENT_USER\Software\KnarCraft\Bungee Controller", "Backup")
182
			RegDelete("HKEY_CURRENT_USER\Software\KnarCraft\Bungee Controller", "Combo3")
183
			Exit
184
	EndSwitch
185
WEnd
186
Func WriteStats()
187
	RegWrite("HKEY_CURRENT_USER\Software\KnarCraft\Bungee Controller", "Bungee", "Reg_SZ", GUICtrlRead($Bungee))
188
	RegWrite("HKEY_CURRENT_USER\Software\KnarCraft\Bungee Controller", "Checkbox", "REG_SZ", GUICtrlRead($Checkbox1))
189
	RegWrite("HKEY_CURRENT_USER\Software\KnarCraft\Bungee Controller", "Server1", "REG_SZ", GUICtrlRead($server1))
190
	RegWrite("HKEY_CURRENT_USER\Software\KnarCraft\Bungee Controller", "Server2", "REG_SZ", GUICtrlRead($server2))
191
	RegWrite("HKEY_CURRENT_USER\Software\KnarCraft\Bungee Controller", "Server3", "REG_SZ", GUICtrlRead($server3))
192
	RegWrite("HKEY_CURRENT_USER\Software\KnarCraft\Bungee Controller", "Server4", "REG_SZ", GUICtrlRead($server4))
193
	RegWrite("HKEY_CURRENT_USER\Software\KnarCraft\Bungee Controller", "Server5", "REG_SZ", GUICtrlRead($server5))
194
	RegWrite("HKEY_CURRENT_USER\Software\KnarCraft\Bungee Controller", "Combo", "REG_SZ", $chosen)
195-
			Global $hwnd1 = WinGetHandle("Server2")
195+
	RegWrite("HKEY_CURRENT_USER\Software\KnarCraft\Bungee Controller", "Combo2", "REG_SZ", $chosen2)
196
	RegWrite("HKEY_CURRENT_USER\Software\KnarCraft\Bungee Controller", "Combo3", "REG_SZ", $chosen3)
197
	RegWrite("HKEY_CURRENT_USER\Software\KnarCraft\Bungee Controller", "Backup", "REG_SZ", $backupdir)
198
	RegWrite("HKEY_CURRENT_USER\Software\KnarCraft\Bungee Controller", "Loc0", "REG_SZ", $file0)
199
	RegWrite("HKEY_CURRENT_USER\Software\KnarCraft\Bungee Controller", "Loc1", "REG_SZ", $file1)
200
	RegWrite("HKEY_CURRENT_USER\Software\KnarCraft\Bungee Controller", "Loc2", "REG_SZ", $file2)
201
	RegWrite("HKEY_CURRENT_USER\Software\KnarCraft\Bungee Controller", "Loc3", "REG_SZ", $file3)
202
	RegWrite("HKEY_CURRENT_USER\Software\KnarCraft\Bungee Controller", "Loc4", "REG_SZ", $file4)
203-
			Global $hwnd1 = WinGetHandle("Server3")
203+
	RegWrite("HKEY_CURRENT_USER\Software\KnarCraft\Bungee Controller", "Loc5", "REG_SZ", $file5)
204
EndFunc   ;==>WriteStats
205
Func ReadStats()
206
	$Read0 = RegRead("HKEY_CURRENT_USER\Software\KnarCraft\Bungee Controller", "Bungee")
207
	$Read1 = RegRead("HKEY_CURRENT_USER\Software\KnarCraft\Bungee Controller", "Checkbox")
208
	$Read2 = RegRead("HKEY_CURRENT_USER\Software\KnarCraft\Bungee Controller", "Combo")
209
	$Read3 = RegRead("HKEY_CURRENT_USER\Software\KnarCraft\Bungee Controller", "Combo2")
210
	$Read4 = RegRead("HKEY_CURRENT_USER\Software\KnarCraft\Bungee Controller", "Server1")
211-
			Global $hwnd1 = WinGetHandle("Server4")
211+
	$Read5 = RegRead("HKEY_CURRENT_USER\Software\KnarCraft\Bungee Controller", "Server2")
212
	$Read6 = RegRead("HKEY_CURRENT_USER\Software\KnarCraft\Bungee Controller", "Server3")
213
	$Read7 = RegRead("HKEY_CURRENT_USER\Software\KnarCraft\Bungee Controller", "Server4")
214
	$Read8 = RegRead("HKEY_CURRENT_USER\Software\KnarCraft\Bungee Controller", "Server5")
215
	$Read9 = RegRead("HKEY_CURRENT_USER\Software\KnarCraft\Bungee Controller", "Combo3")
216
	$backupdir = RegRead("HKEY_CURRENT_USER\Software\KnarCraft\Bungee Controller", "Backup")
217
	$file0 = RegRead("HKEY_CURRENT_USER\Software\KnarCraft\Bungee Controller", "Loc0")
218
	$file1 = RegRead("HKEY_CURRENT_USER\Software\KnarCraft\Bungee Controller", "Loc1")
219-
			Global $hwnd1 = WinGetHandle("Server5")
219+
	$file2 = RegRead("HKEY_CURRENT_USER\Software\KnarCraft\Bungee Controller", "Loc2")
220
	$file3 = RegRead("HKEY_CURRENT_USER\Software\KnarCraft\Bungee Controller", "Loc3")
221
	$file4 = RegRead("HKEY_CURRENT_USER\Software\KnarCraft\Bungee Controller", "Loc4")
222
	$file5 = RegRead("HKEY_CURRENT_USER\Software\KnarCraft\Bungee Controller", "Loc5")
223
	If Not $Read2 = "" Then GUICtrlSetData($Combo1, $Read2)
224
	If Not $Read3 = "" Then GUICtrlSetData($Combo2, $Read3)
225
	If Not $Read9 = "" Then GUICtrlSetData($Combo3, $Read9)
226
	If $Read1 = 1 Then GUICtrlSetState($Checkbox1, $GUI_CHECKED)
227
	If $Read4 = 1 Then GUICtrlSetState($server1, $GUI_CHECKED)
228
	If $Read5 = 1 Then GUICtrlSetState($server2, $GUI_CHECKED)
229
	If $Read6 = 1 Then GUICtrlSetState($server3, $GUI_CHECKED)
230
	If $Read7 = 1 Then GUICtrlSetState($server4, $GUI_CHECKED)
231
	If $Read8 = 1 Then GUICtrlSetState($server5, $GUI_CHECKED)
232
	If $Read0 = 1 Then GUICtrlSetState($Bungee, $GUI_CHECKED)
233
EndFunc   ;==>ReadStats
234
Func Start()
235
	ServerType()
236
	If GUICtrlRead($Bungee) = 1 Then
237-
	If $chosen2 = "Vanilla" Then
237+
		$BungeeServer = Run("java -Xmx512M -jar " & '"' & $file0 & "\BungeeCord.jar" & '"', $file0, $Hide)
238-
		$Read = RegRead("HKEY_CURRENT_USER\Software\KnarCraft", "Version")
238+
239
			WinSetTitle("C:\Windows\system32\java.exe", "", "Bungee")
240
			WinSetTitle("C:\WINDOWS\SYSTEM32\java.exe", "", "Bungee")
241
			Global $hwnd0 = WinGetHandle("Bungee")
242
		EndIf
243
	EndIf
244
	If GUICtrlRead($server1) = 1 Then
245
		$1 = Run("java " & $chosen & " -jar " & '"' & $file1 & '"' & "\minecraft_server.jar", $file1, $Hide)
246
		If Not ProcessWait($1) = 0 Then
247
			WinSetTitle("C:\Windows\system32\java.exe", "", "Server1")
248
			WinSetTitle("C:\WINDOWS\SYSTEM32\java.exe", "", "Server1")
249
			Global $hwnd1 = WinGetHandle("Server1")
250
		EndIf
251
	EndIf
252-
		$Read = RegRead("HKEY_CURRENT_USER\Software\KnarCraft", "SnapshotVersion")
252+
	If GUICtrlRead($server2) = 1 Then
253
		$2 = Run("java " & $chosen & " -jar " & '"' & $file2 & '"' & "\minecraft_server.jar", $file2, $Hide)
254
		If Not ProcessWait($2) = 0 Then
255
			WinSetTitle("C:\Windows\system32\java.exe", "", "Server2")
256
			WinSetTitle("C:\WINDOWS\SYSTEM32\java.exe", "", "Server2")
257
			Global $hwnd2 = WinGetHandle("Server2")
258
		EndIf
259
	EndIf
260
	If GUICtrlRead($server3) = 1 Then
261
		$3 = Run("java " & $chosen & " -jar " & '"' & $file3 & '"' & "\minecraft_server.jar", $file3, $Hide)
262
		If Not ProcessWait($3) = 0 Then
263-
	EndIf
263+
264
			WinSetTitle("C:\WINDOWS\SYSTEM32\java.exe", "", "Server3")
265
			Global $hwnd3 = WinGetHandle("Server3")
266
		EndIf
267
	EndIf
268
	If GUICtrlRead($server4) = 1 Then
269
		$4 = Run("java " & $chosen & " -jar " & '"' & $file4 & '"' & "\minecraft_server.jar", $file4, $Hide)
270
		If Not ProcessWait($4) = 0 Then
271
			WinSetTitle("C:\Windows\system32\java.exe", "", "Server4")
272
			WinSetTitle("C:\WINDOWS\SYSTEM32\java.exe", "", "Server4")
273
			Global $hwnd4 = WinGetHandle("Server4")
274
		EndIf
275
	EndIf
276
	If GUICtrlRead($server5) = 1 Then
277
		$5 = Run("java " & $chosen & " -jar " & '"' & $file5 & '"' & "\minecraft_server.jar", $file5, $Hide)
278
		If Not ProcessWait($5) = 0 Then
279
			WinSetTitle("C:\Windows\system32\java.exe", "", "Server5")
280
			WinSetTitle("C:\WINDOWS\SYSTEM32\java.exe", "", "Server5")
281
			Global $hwnd5 = WinGetHandle("Server5")
282
		EndIf
283
	EndIf
284
	Global $servers = "Running"
285
	GUICtrlSetData($Label1, "Server(s) are running")
286
EndFunc   ;==>Start
287
Func ServerType()
288
	GUISetState(@SW_HIDE, $Gui)
289
	$Pgui = GUICreate("Downloading jars", 280, 25)
290
	GUISetState(@SW_SHOW, $Pgui)
291
	$Progress = GUICtrlCreateProgress("", "", 280, 25, BitOR($PBS_SMOOTH, $WS_BORDER), $WS_EX_CLIENTEDGE)
292
	GUICtrlSetData($Progress, 0)
293
	If GUICtrlRead($Bungee) = 1 Then InetGet("http://ci.md-5.net/job/BungeeCord/lastSuccessfulBuild/artifact/bootstrap/target/BungeeCord.jar", $file0 & "\BungeeCord.jar")
294
	GUICtrlSetData($Progress, 16)
295
	If GUICtrlRead($server1) = 1 Then Download($file1)
296
	GUICtrlSetData($Progress, 30)
297
	If GUICtrlRead($server2) = 1 Then Download($file2)
298
	GUICtrlSetData($Progress, 50)
299
	If GUICtrlRead($server3) = 1 Then Download($file3)
300
	GUICtrlSetData($Progress, 66)
301
	If GUICtrlRead($server4) = 1 Then Download($file4)
302
	GUICtrlSetData($Progress, 82)
303
	If GUICtrlRead($server5) = 1 Then Download($file5)
304
	GUICtrlSetData($Progress, 100)
305
	GUIDelete($Pgui)
306
	GUISetState(@SW_SHOW, $Gui)
307
EndFunc   ;==>ServerType
308
Func Download($loc)
309
	If $chosen2 = "Spigot" Then InetGet("http://ci.md-5.net/job/Spigot-1.7/lastSuccessfulBuild/artifact/Spigot-Server/target/spigot.jar", $loc & "\minecraft_server.jar", 1, 0)
310
	If $chosen2 = "CB Dev" Then InetGet("http://dl.bukkit.org/latest-dev/craftbukkit-dev.jar", $loc & "\minecraft_server.jar", 1, 0)
311
	If $chosen2 = "CB Stable" Then InetGet("http://dl.bukkit.org/latest-rb/craftbukkit.jar", $loc & "\minecraft_server.jar", 1, 0)
312
	If $chosen2 = "CB Beta" Then InetGet("http://dl.bukkit.org/latest-beta/craftbukkit-beta.jar", $loc & "\minecraft_server.jar", 1, 0)
313
	If $chosen2 = "Vanilla" Then Vanilla($loc)
314
	If $chosen2 = "Snapshot" Then
315
		$Read = RegRead("HKEY_CURRENT_USER\Software\KnarCraft\Bungee Controller", "SnapshotVersion")
316
		$Path1 = @TempDir & "\versions.json"
317
		InetGet("https://s3.amazonaws.com/Minecraft.Download/versions/versions.json", $Path1, 1, 0)
318
		$FF = FileOpen($Path1)
319
		$RF = FileReadLine($FF, 3)
320
		If $Read = $RF And FileExists($loc) Then
321
		Else
322
			$ver = StringReplace(StringReplace($RF, '    "snapshot": "', ""), '",', "")
323
			If InetGet('https://s3.amazonaws.com/Minecraft.Download/versions/' & $ver & "/minecraft_server." & $ver & ".jar", $loc & "\minecraft_server.jar", 1, 0) = 1 Then RegWrite("HKEY_CURRENT_USER\Software\KnarCraft\Snapshot", "Version", "REG_SZ", $RF)
324
		EndIf
325
		FileDelete($Path1)
326
	EndIf
327
EndFunc   ;==>Download
328
Func Vanilla($loc)
329
	If GUICtrlRead($Combo2) = "Vanilla" And GUICtrlRead($Combo3) = "Latest" Then
330
		$Read = RegRead("HKEY_CURRENT_USER\Software\KnarCraft\Bungee Controller", "Version")
331
		$Path1 = @TempDir & "\versions.json"
332
		InetGet("https://s3.amazonaws.com/Minecraft.Download/versions/versions.json", $Path1, 1, 0)
333
		$FF = FileOpen($Path1)
334
		$RF = FileReadLine($FF, 4)
335
		If $Read = $RF And FileExists($loc) Then
336
		Else
337
			$ver = StringReplace(StringReplace($RF, '    "release": "', ""), '"', "")
338
			If InetGet('https://s3.amazonaws.com/Minecraft.Download/versions/' & $ver & "/minecraft_server." & $ver & ".jar", $loc & "\minecraft_server.jar", 1, 0) = 1 Then RegWrite("HKEY_CURRENT_USER\Software\KnarCraft\Snapshot", "Version", "REG_SZ", $RF)
339
		EndIf
340
		FileDelete($Path1)
341
		Sleep(1)
342
	EndIf
343
	If GUICtrlRead($Combo2) = "Vanilla" And GUICtrlRead($Combo3) = "1.6.4" Then InetGet('https://s3.amazonaws.com/Minecraft.Download/versions/' & "1.6.4" & "/minecraft_server." & "1.6.4" & ".jar", $loc & "\minecraft_server.jar", 1, 0)
344
	If GUICtrlRead($Combo2) = "Vanilla" And GUICtrlRead($Combo3) = "1.6.2" Then InetGet('https://s3.amazonaws.com/Minecraft.Download/versions/' & "1.6.2" & "/minecraft_server." & "1.6.2" & ".jar", $loc & "\minecraft_server.jar", 1, 0)
345
	If GUICtrlRead($Combo2) = "Vanilla" And GUICtrlRead($Combo3) = "1.5.2" Then InetGet('https://s3.amazonaws.com/Minecraft.Download/versions/' & "1.5.2" & "/minecraft_server." & "1.5.2" & ".jar", $loc & "\minecraft_server.jar", 1, 0)
346
	If GUICtrlRead($Combo2) = "Vanilla" And GUICtrlRead($Combo3) = "1.4.7" Then InetGet('https://s3.amazonaws.com/Minecraft.Download/versions/' & "1.4.7" & "/minecraft_server." & "1.4.7" & ".jar", $loc & "\minecraft_server.jar", 1, 0)
347
	If GUICtrlRead($Combo2) = "Vanilla" And GUICtrlRead($Combo3) = "1.4.5" Then InetGet('https://s3.amazonaws.com/Minecraft.Download/versions/' & "1.4.5" & "/minecraft_server." & "1.4.5" & ".jar", $loc & "\minecraft_server.jar", 1, 0)
348
EndFunc   ;==>Vanilla
349
Func Backup()
350
	GUISetState(@SW_HIDE, $Gui)
351
	$Pgui = GUICreate("Backup Progress", 280, 25)
352
	GUISetState(@SW_SHOW, $Pgui)
353
	$Progress = GUICtrlCreateProgress("", "", 280, 25, BitOR($PBS_SMOOTH, $WS_BORDER), $WS_EX_CLIENTEDGE)
354
	GUICtrlSetData($Progress, 0)
355
	If GUICtrlRead($server1) = 1 Then DirCopy($file1, $backupdir & "\Server1\" & " " & @HOUR & ";" & @MIN & " " & @MDAY & "-" & @MON & "-" & @YEAR)
356
	GUICtrlSetData($Progress, 20)
357
	If GUICtrlRead($server2) = 1 Then DirCopy($file2, $backupdir & "\Server2\" & " " & @HOUR & ";" & @MIN & " " & @MDAY & "-" & @MON & "-" & @YEAR)
358
	GUICtrlSetData($Progress, 40)
359
	If GUICtrlRead($server3) = 1 Then DirCopy($file3, $backupdir & "\Server3\" & " " & @HOUR & ";" & @MIN & " " & @MDAY & "-" & @MON & "-" & @YEAR)
360
	GUICtrlSetData($Progress, 60)
361
	If GUICtrlRead($server4) = 1 Then DirCopy($file4, $backupdir & "\Server4\" & " " & @HOUR & ";" & @MIN & " " & @MDAY & "-" & @MON & "-" & @YEAR)
362
	GUICtrlSetData($Progress, 80)
363
	If GUICtrlRead($server5) = 1 Then DirCopy($file5, $backupdir & "\Server5\" & " " & @HOUR & ";" & @MIN & " " & @MDAY & "-" & @MON & "-" & @YEAR)
364
	GUICtrlSetData($Progress, 100)
365
	GUIDelete($Pgui)
366
	GUISetState(@SW_SHOW, $Gui)
367
EndFunc   ;==>Backup