Chat bugfixes

This commit is contained in:
Anuken
2018-01-20 13:49:55 -05:00
parent c0a78858f4
commit 7bcea08d83
3 changed files with 23 additions and 1 deletions

View File

@@ -234,6 +234,7 @@ public class NetServer extends Module{
packet.name = null; packet.name = null;
packet.text = message; packet.text = message;
Net.send(packet, SendMode.tcp); Net.send(packet, SendMode.tcp);
Vars.ui.chatfrag.addMessage(message, null);
} }
public void handleFriendlyFireChange(boolean enabled){ public void handleFriendlyFireChange(boolean enabled){

View File

@@ -25,6 +25,7 @@ import io.anuke.mindustry.net.Streamable.StreamChunk;
import io.anuke.ucore.UCore; import io.anuke.ucore.UCore;
import io.anuke.ucore.core.Timers; import io.anuke.ucore.core.Timers;
import org.java_websocket.WebSocket; import org.java_websocket.WebSocket;
import org.java_websocket.WebSocketServerFactory;
import org.java_websocket.handshake.ClientHandshake; import org.java_websocket.handshake.ClientHandshake;
import org.java_websocket.server.WebSocketServer; import org.java_websocket.server.WebSocketServer;
@@ -42,6 +43,7 @@ public class KryoServer implements ServerProvider {
final ByteBuffer buffer = ByteBuffer.allocate(4096); final ByteBuffer buffer = ByteBuffer.allocate(4096);
final CopyOnWriteArrayList<KryoConnection> connections = new CopyOnWriteArrayList<>(); final CopyOnWriteArrayList<KryoConnection> connections = new CopyOnWriteArrayList<>();
final Array<KryoConnection> array = new Array<>(); final Array<KryoConnection> array = new Array<>();
final WebSocketServerFactory factory = SSLGen.getFactory();
SocketServer webServer; SocketServer webServer;
int lastconnection = 0; int lastconnection = 0;
@@ -155,7 +157,11 @@ public class KryoServer implements ServerProvider {
Thread thread = new Thread(() ->{ Thread thread = new Thread(() ->{
try { try {
server.close(); server.close();
if(webServer != null) webServer.stop(1); //please die, right now try {
if (webServer != null) webServer.stop(1); //please die, right now
}catch(Exception e){
e.printStackTrace();
}
//kill them all //kill them all
for(Thread worker : Thread.getAllStackTraces().keySet()){ for(Thread worker : Thread.getAllStackTraces().keySet()){
if(worker.getName().contains("WebSocketWorker")){ if(worker.getName().contains("WebSocketWorker")){
@@ -364,6 +370,7 @@ public class KryoServer implements ServerProvider {
public SocketServer(int port) { public SocketServer(int port) {
super(new InetSocketAddress(port)); super(new InetSocketAddress(port));
//setWebSocketFactory(factory);
} }
@Override @Override
@@ -416,6 +423,9 @@ public class KryoServer implements ServerProvider {
if(ex instanceof BindException){ if(ex instanceof BindException){
Net.closeServer(); Net.closeServer();
Vars.ui.showError("$text.server.addressinuse"); Vars.ui.showError("$text.server.addressinuse");
}else if(ex.getMessage().equals("Permission denied")){
Net.closeServer();
Vars.ui.showError("Permission denied.");
} }
} }

View File

@@ -0,0 +1,11 @@
package io.anuke.kryonet;
import org.java_websocket.WebSocketServerFactory;
public class SSLGen {
public static WebSocketServerFactory getFactory(){
//TODO implement
return null;
}
}