mirror of
https://github.com/simon987/Much-Assembly-Required.git
synced 2025-04-19 18:46:43 +00:00
Fixed bugs related to guest users
This commit is contained in:
parent
36d433fdce
commit
8f117c5e27
@ -104,10 +104,11 @@ public class GameServer implements Runnable {
|
|||||||
|
|
||||||
//Process user code
|
//Process user code
|
||||||
for(User user : gameUniverse.getUsers()){
|
for(User user : gameUniverse.getUsers()){
|
||||||
|
|
||||||
|
if(user.getCpu() != null){
|
||||||
user.getCpu().reset();
|
user.getCpu().reset();
|
||||||
user.getCpu().execute();
|
user.getCpu().execute();
|
||||||
|
}
|
||||||
// System.out.println(user.getCpu());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//Process each worlds
|
//Process each worlds
|
||||||
|
@ -98,11 +98,6 @@ public class GameUniverse implements JSONSerialisable{
|
|||||||
try {
|
try {
|
||||||
if(makeControlledUnit) {
|
if(makeControlledUnit) {
|
||||||
user = new User();
|
user = new User();
|
||||||
} else {
|
|
||||||
user = new User(null);
|
|
||||||
}
|
|
||||||
|
|
||||||
user.setUsername(username);
|
|
||||||
user.setCpu(new CPU(GameServer.INSTANCE.getConfig(), user));
|
user.setCpu(new CPU(GameServer.INSTANCE.getConfig(), user));
|
||||||
user.setUserCode(GameServer.INSTANCE.getConfig().getString("new_user_code"));
|
user.setUserCode(GameServer.INSTANCE.getConfig().getString("new_user_code"));
|
||||||
|
|
||||||
@ -116,6 +111,12 @@ public class GameUniverse implements JSONSerialisable{
|
|||||||
user.getCpu().getMemory().write((short) ar.origin, ar.bytes, ar.bytes.length);
|
user.getCpu().getMemory().write((short) ar.origin, ar.bytes, ar.bytes.length);
|
||||||
user.getCpu().setCodeSegmentOffset(ar.origin);
|
user.getCpu().setCodeSegmentOffset(ar.origin);
|
||||||
|
|
||||||
|
} else {
|
||||||
|
user = new User(null);
|
||||||
|
}
|
||||||
|
|
||||||
|
user.setUsername(username);
|
||||||
|
|
||||||
users.add(user);
|
users.add(user);
|
||||||
|
|
||||||
return user;
|
return user;
|
||||||
|
@ -39,14 +39,13 @@ public class SocketServer extends WebSocketServer {
|
|||||||
@Override
|
@Override
|
||||||
public void onOpen(WebSocket conn, ClientHandshake handshake) {
|
public void onOpen(WebSocket conn, ClientHandshake handshake) {
|
||||||
LogManager.LOGGER.info("(WS) New Websocket connection " + conn.getRemoteSocketAddress());
|
LogManager.LOGGER.info("(WS) New Websocket connection " + conn.getRemoteSocketAddress());
|
||||||
|
|
||||||
userManager.add(new OnlineUser(conn));
|
userManager.add(new OnlineUser(conn));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onClose(WebSocket conn, int code, String reason, boolean remote) {
|
public void onClose(WebSocket conn, int code, String reason, boolean remote) {
|
||||||
LogManager.LOGGER.info("(WS) Closed " + conn.getRemoteSocketAddress() + " with exit code " + code + " additional info: " + reason);
|
LogManager.LOGGER.info("(WS) Closed " + conn.getRemoteSocketAddress() + " with exit code " + code + " additional info: " + reason);
|
||||||
userManager.add(new OnlineUser(conn));
|
userManager.remove(userManager.getUser(conn));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -110,6 +109,8 @@ public class SocketServer extends WebSocketServer {
|
|||||||
@Override
|
@Override
|
||||||
public void onError(WebSocket conn, Exception ex) {
|
public void onError(WebSocket conn, Exception ex) {
|
||||||
System.err.println("an error occured on connection " + conn.getRemoteSocketAddress() + ':' + ex);
|
System.err.println("an error occured on connection " + conn.getRemoteSocketAddress() + ':' + ex);
|
||||||
|
userManager.remove(userManager.getUser(conn));
|
||||||
|
|
||||||
ex.printStackTrace();
|
ex.printStackTrace();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user