Skip to content

Commit 459c761

Browse files
committed
fix: publish empty client data snapshots
1 parent ee7f916 commit 459c761

1 file changed

Lines changed: 8 additions & 9 deletions

File tree

src/main/java/org/itxtech/nemisys/Server.java

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ public class Server {
8383
private final Map<InetSocketAddress, Player> players = new Object2ObjectOpenHashMap<>();
8484
private final SynapseInterface synapseInterface;
8585
private final Map<String, Client> clients = new Object2ObjectOpenHashMap<>();
86-
private ClientData clientData = new ClientData();
86+
private volatile ClientData clientData = new ClientData();
8787
private final Map<String, Client> mainClients = new Object2ObjectOpenHashMap<>();
8888
private Synapse synapse;
8989
private final Thread currentThread;
@@ -311,6 +311,7 @@ public Map<String, Client> getMainClients() {
311311
public void removeClient(Client client) {
312312
if (this.clients.remove(client.getHash()) != null) {
313313
this.mainClients.remove(client.getHash());
314+
this.updateClientData();
314315
}
315316
}
316317

@@ -323,15 +324,13 @@ public ClientData getClientData() {
323324
}
324325

325326
public void updateClientData() {
326-
if (!this.clients.isEmpty()) {
327-
ClientData clientData = new ClientData();
328-
for (Client client : this.clients.values()) {
329-
ClientData.Entry entry = new Entry(client.getIp(), client.getPort(), client.getPlayers().size(),
330-
client.getMaxPlayers(), client.getDescription());
331-
clientData.clientList.put(client.getHash(), entry);
332-
}
333-
this.clientData = clientData;
327+
ClientData clientData = new ClientData();
328+
for (Client client : this.clients.values()) {
329+
ClientData.Entry entry = new Entry(client.getIp(), client.getPort(), client.getPlayers().size(),
330+
client.getMaxPlayers(), client.getDescription());
331+
clientData.clientList.put(client.getHash(), entry);
334332
}
333+
this.clientData = clientData;
335334
}
336335

337336
public boolean comparePassword(String pass) {

0 commit comments

Comments
 (0)