.
This commit is contained in:
@@ -8,8 +8,8 @@ import io.anuke.arc.*;
|
|||||||
import io.anuke.arc.collection.*;
|
import io.anuke.arc.collection.*;
|
||||||
import io.anuke.arc.function.*;
|
import io.anuke.arc.function.*;
|
||||||
import io.anuke.arc.util.*;
|
import io.anuke.arc.util.*;
|
||||||
import io.anuke.arc.util.async.*;
|
|
||||||
import io.anuke.arc.util.pooling.*;
|
import io.anuke.arc.util.pooling.*;
|
||||||
|
import io.anuke.mindustry.game.EventType.*;
|
||||||
import io.anuke.mindustry.net.Net;
|
import io.anuke.mindustry.net.Net;
|
||||||
import io.anuke.mindustry.net.*;
|
import io.anuke.mindustry.net.*;
|
||||||
import io.anuke.mindustry.net.Net.*;
|
import io.anuke.mindustry.net.Net.*;
|
||||||
@@ -20,7 +20,7 @@ import java.io.*;
|
|||||||
import java.nio.*;
|
import java.nio.*;
|
||||||
import java.util.concurrent.*;
|
import java.util.concurrent.*;
|
||||||
|
|
||||||
import static io.anuke.mindustry.Vars.*;
|
import static io.anuke.mindustry.Vars.ui;
|
||||||
|
|
||||||
public class SteamNetImpl implements SteamNetworkingCallback, SteamMatchmakingCallback, SteamFriendsCallback, ClientProvider, ServerProvider{
|
public class SteamNetImpl implements SteamNetworkingCallback, SteamMatchmakingCallback, SteamFriendsCallback, ClientProvider, ServerProvider{
|
||||||
final SteamNetworking snet = new SteamNetworking(this);
|
final SteamNetworking snet = new SteamNetworking(this);
|
||||||
@@ -39,12 +39,13 @@ public class SteamNetImpl implements SteamNetworkingCallback, SteamMatchmakingCa
|
|||||||
SteamID currentLobby, currentServer;
|
SteamID currentLobby, currentServer;
|
||||||
|
|
||||||
public SteamNetImpl(){
|
public SteamNetImpl(){
|
||||||
|
Events.on(GameLoadEvent.class, e -> Core.app.addListener(new ApplicationListener(){
|
||||||
//start recieving packets
|
//read packets
|
||||||
Threads.daemon(() -> {
|
|
||||||
int length;
|
int length;
|
||||||
SteamID from = new SteamID();
|
SteamID from = new SteamID();
|
||||||
while(true){
|
|
||||||
|
@Override
|
||||||
|
public void update(){
|
||||||
while((length = snet.isP2PPacketAvailable(0)) != 0){
|
while((length = snet.isP2PPacketAvailable(0)) != 0){
|
||||||
try{
|
try{
|
||||||
readBuffer.position(0);
|
readBuffer.position(0);
|
||||||
@@ -63,7 +64,7 @@ public class SteamNetImpl implements SteamNetworkingCallback, SteamMatchmakingCa
|
|||||||
}else{
|
}else{
|
||||||
Log.err("Unknown user with ID: {0}", fromID);
|
Log.err("Unknown user with ID: {0}", fromID);
|
||||||
}
|
}
|
||||||
}else if(Net.client() && currentServer != null && fromID == currentServer.getAccountID()){
|
}else if(currentServer != null && fromID == currentServer.getAccountID()){
|
||||||
Core.app.post(() -> Net.handleClientReceived(output));
|
Core.app.post(() -> Net.handleClientReceived(output));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@@ -71,10 +72,8 @@ public class SteamNetImpl implements SteamNetworkingCallback, SteamMatchmakingCa
|
|||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Threads.sleep(1000 / 10);
|
|
||||||
}
|
}
|
||||||
});
|
}));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -84,7 +83,6 @@ public class SteamNetImpl implements SteamNetworkingCallback, SteamMatchmakingCa
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void sendClient(Object object, SendMode mode){
|
public void sendClient(Object object, SendMode mode){
|
||||||
Log.info("Attempt to send {0} {1}", object, mode);
|
|
||||||
if(currentServer == null){
|
if(currentServer == null){
|
||||||
Log.info("Not connected, quitting.");
|
Log.info("Not connected, quitting.");
|
||||||
return;
|
return;
|
||||||
@@ -236,7 +234,7 @@ public class SteamNetImpl implements SteamNetworkingCallback, SteamMatchmakingCa
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onLobbyKicked(SteamID steamID, SteamID steamID1, boolean b){
|
public void onLobbyKicked(SteamID steamID, SteamID steamID1, boolean b){
|
||||||
|
Log.info("Kicked: {0} {1} {2}", steamID, steamID1, b);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -365,7 +363,7 @@ public class SteamNetImpl implements SteamNetworkingCallback, SteamMatchmakingCa
|
|||||||
writeBuffer.flip();
|
writeBuffer.flip();
|
||||||
//Log.info("Send {0} to {1} mode {2}", object, sid.getAccountID(), mode);
|
//Log.info("Send {0} to {1} mode {2}", object, sid.getAccountID(), mode);
|
||||||
|
|
||||||
snet.sendP2PPacket(sid, writeBuffer, mode == SendMode.tcp ? P2PSend.Reliable : P2PSend.UnreliableNoDelay, 0);
|
snet.sendP2PPacket(sid, writeBuffer, mode == SendMode.tcp ? object instanceof StreamChunk ? P2PSend.ReliableWithBuffering : P2PSend.Reliable : P2PSend.UnreliableNoDelay, 0);
|
||||||
}catch(Exception e){
|
}catch(Exception e){
|
||||||
Log.err(e);
|
Log.err(e);
|
||||||
Log.info("Error sending packet. Disconnecting invalid client!");
|
Log.info("Error sending packet. Disconnecting invalid client!");
|
||||||
|
|||||||
Reference in New Issue
Block a user