Skip to content

Commit d43ae8e

Browse files
gui for getting server command added
1 parent 1bf104e commit d43ae8e

File tree

2 files changed

+83
-14
lines changed

2 files changed

+83
-14
lines changed

gui/gui.py

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
import PySimpleGUI as sg
2+
import sys
3+
4+
5+
def generate_cmd(server, first_team, second_team, map_file, show_log):
6+
show_log = "--show-log" if (show_log == "Yes") else ""
7+
return "java -jar {} --first-team={} --second-team={} --read-map={} {}".format(
8+
server, first_team, second_team, map_file, show_log
9+
)
10+
11+
12+
if len(sys.argv) == 1:
13+
server = sg.Checkbox("Choose server jar file")
14+
else:
15+
server = sys.argv[1]
16+
17+
if len(sys.argv) == 1:
18+
server = sg.popup_get_file("Choose server jar file")
19+
else:
20+
server = sys.argv[1]
21+
22+
if not server:
23+
sg.popup("Cancel", "No server jar file selected")
24+
raise SystemExit("Cancelling: no server jar supplied")
25+
26+
if len(sys.argv) == 1:
27+
first_team = sg.popup_get_file("Choose first team client file")
28+
else:
29+
first_team = sys.argv[1]
30+
31+
if not first_team:
32+
sg.popup("Cancel", "No first team selected")
33+
raise SystemExit("Cancelling: no first team supplied")
34+
35+
if len(sys.argv) == 1:
36+
second_team = sg.popup_get_file("Choose second team client file")
37+
else:
38+
second_team = sys.argv[1]
39+
40+
if not second_team:
41+
sg.popup("Cancel", "No second team selected")
42+
raise SystemExit("Cancelling: no second team supplied")
43+
44+
if len(sys.argv) == 1:
45+
map_file = sg.popup_get_file("Choose map.json file")
46+
else:
47+
map_file = sys.argv[1]
48+
49+
show_log = False
50+
51+
if not map_file:
52+
sg.popup("Cancel", "No map file selected")
53+
raise SystemExit("Cancelling: no map file supplied")
54+
else:
55+
show_log = sg.popup_yes_no(
56+
"Do you want to see extra logs? (may cause performance issues)"
57+
)
58+
sg.popup_get_text(
59+
"The command to run your server: (Use this command where \'map.config\' exists)",
60+
default_text=generate_cmd(server, first_team, second_team, map_file, show_log),
61+
)

src/main/java/ir/sharif/aichallenge/server/engine/network/ClientNetwork.java

Lines changed: 22 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -310,22 +310,30 @@ private synchronized void verifyClient(JsonSocket client) throws Exception {
310310
if (message != null && message.getType().equals(MessageTypes.TOKEN) && message.getInfo().has("token")) {
311311
String clientToken = message.getInfo().get("token").getAsString();
312312
ArrayList<Integer> ids = mTokens.get(clientToken);
313-
if (ids != null) {
314-
for (int clientID : ids) {
315-
if (deadIDs.contains(clientID))
316-
continue;
317-
ClientHandler clientHandler = mClients.get(clientID);
318-
if (!clientHandler.isConnected() && !deadIDs.contains(clientID)) {
319-
try {
320-
AntGenerator.waitingProcessIDs.remove(clientID);
321-
} catch (Exception ignore) {
322-
}
323-
clientHandler.bind(client);
324-
Runnable receiver = clientHandler.getReceiver(() -> receiveTimeFlag);
325-
receiveExecutor.submit(receiver);
326-
return;
313+
if (ids != null && ids.size() > 0) {
314+
int clientID = ids.get(ids.size() - 1);
315+
// if (deadIDs.contains(clientID))
316+
// continue;
317+
ClientHandler clientHandler = mClients.get(clientID);
318+
if (!clientHandler.isConnected() && !deadIDs.contains(clientID)) {
319+
try {
320+
AntGenerator.waitingProcessIDs.remove(clientID);
321+
} catch (Exception ignore) {
327322
}
323+
clientHandler.bind(client);
324+
Runnable receiver = clientHandler.getReceiver(() -> receiveTimeFlag);
325+
receiveExecutor.submit(receiver);
326+
return;
328327
}
328+
/*
329+
* for (int clientID : ids) { if (deadIDs.contains(clientID)) continue;
330+
* ClientHandler clientHandler = mClients.get(clientID); if
331+
* (!clientHandler.isConnected() && !deadIDs.contains(clientID)) { try {
332+
* AntGenerator.waitingProcessIDs.remove(clientID); } catch (Exception ignore) {
333+
* } clientHandler.bind(client); Runnable receiver =
334+
* clientHandler.getReceiver(() -> receiveTimeFlag);
335+
* receiveExecutor.submit(receiver); return; } }
336+
*/
329337
}
330338
}
331339
}

0 commit comments

Comments
 (0)