diff --git a/.idea/workspace.xml b/.idea/workspace.xml index 76ed9c9..a683e37 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -1,29 +1,47 @@ - + - - - - - - + + + + + + + + + + + + + + + - - + + + + + + + + + + + + + - - - + @@ -36,7 +54,7 @@ - + com.texttwist.client.* @@ -46,23 +64,115 @@ - - + + - - + + + + + + + + + + + + - + - - + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -73,81 +183,8 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + @@ -164,36 +201,36 @@ - Ready to rec - Ready to rece - Ready to receiv - Rec - Receive - ReceiveWo - ReceiveWor - ReceiveWord - Dict - words - ReceiveWords - G - GAME_ST - GAME_STA - 4 - 4000 - 2 - 226 s - setM - setMu - setMult - setMulti - WaitForS - WaitForSco - WaitForScor - W - WaitFor - WaitForP - WaitForPla + setWo + setWor + setWord + setWords + w + words + showLe + sendW + lett + word + wait + ma + matchModel + matchMode + matchMod + matchMo + matchM + match + matchSer + matchServ + letters + a + addWordToWo + addWordToW + addWordTo + addWordT + addWord + addWor + letter @@ -207,62 +244,68 @@ + + false + + false + false + true DEFINITION_ORDER @@ -306,90 +349,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -724,6 +683,116 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -734,7 +803,7 @@ - + @@ -1229,46 +1298,51 @@ + + + + + - - - - - - - - - - - - + + + - - + + + + + + + + + + @@ -1279,7 +1353,15 @@ - @@ -1288,33 +1370,36 @@ - + - - + + + + + + - + - - + + - + - - - + + - + - - + + @@ -1325,376 +1410,399 @@ + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + + + + + + + + + + + + + + + + - - - - - + + - + - - + + + + + + + + + + + + + + + + + - - + + - + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - + + - + + - + - - - - - - - - - - + + - - + - + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Client/src/com/texttwist/client/App.java b/Client/src/com/texttwist/client/App.java index 6162741..8846393 100644 --- a/Client/src/com/texttwist/client/App.java +++ b/Client/src/com/texttwist/client/App.java @@ -1,9 +1,9 @@ package com.texttwist.client; -import com.texttwist.client.pages.AuthService; +import com.texttwist.client.services.AuthService; import com.texttwist.client.pages.Home; -import com.texttwist.client.pages.MatchService; -import com.texttwist.client.pages.SessionService; +import com.texttwist.client.services.MatchModel; +import com.texttwist.client.services.SessionService; import com.texttwist.client.services.NotificationClient; import constants.Config; import interfaces.INotificationClient; @@ -11,7 +11,6 @@ import interfaces.INotificationServer; import utilities.Logger; import javax.swing.*; -import javax.swing.text.Position; import java.awt.*; import java.io.File; import java.io.IOException; @@ -28,7 +27,7 @@ public class App extends JFrame { public static AuthService authService; public static SessionService sessionService; - public static MatchService matchService; + public static MatchModel match; public static JFrame app; public App() throws IOException { @@ -62,7 +61,7 @@ public class App extends JFrame { //Init services authService = new AuthService(); sessionService = new SessionService(); - matchService = new MatchService(); + match = new MatchModel(); app = this; Home home = new Home(this); } diff --git a/Client/src/com/texttwist/client/controllers/GameController.java b/Client/src/com/texttwist/client/controllers/GameController.java new file mode 100644 index 0000000..c1f9393 --- /dev/null +++ b/Client/src/com/texttwist/client/controllers/GameController.java @@ -0,0 +1,48 @@ +package com.texttwist.client.controllers; +import com.texttwist.client.App; +import com.texttwist.client.pages.Game; +import com.texttwist.client.tasks.SendWords; +import com.texttwist.client.tasks.StartGame; +import com.texttwist.client.tasks.WaitForPlayers; +import com.texttwist.client.tasks.WaitForScore; +import javax.swing.*; +import java.util.concurrent.Callable; + +/** + * Game Controller + */ +public class GameController { + + private Game game; + private Timer timer; + + public GameController(Game game){ + this.game = game; + this.timer = game.timer; + + } + + public DefaultListModel getLetters(){ + return App.match.letters; + } + + public DefaultListModel getWords() { + return App.match.words; + } + + public SwingWorker waitForPlayers(SwingWorker callback) { + return new WaitForPlayers(callback); + } + + private SwingWorker waitForScore(SwingWorker callback){ + return new WaitForScore(callback); + } + + public SwingWorker sendWords(SwingWorker callback){ + return new SendWords(App.match.words, waitForScore(callback)); + } + + public SwingWorker startGame() { + return new StartGame(App.match.letters, game); + } +} diff --git a/Client/src/com/texttwist/client/controllers/HighscoresController.java b/Client/src/com/texttwist/client/controllers/HighscoresController.java new file mode 100644 index 0000000..480f54b --- /dev/null +++ b/Client/src/com/texttwist/client/controllers/HighscoresController.java @@ -0,0 +1,31 @@ +package com.texttwist.client.controllers; +import com.texttwist.client.services.HighscoresService; + +import javax.swing.*; +import java.util.concurrent.Callable; + +/** + * Created by loke on 28/06/2017. + */ +public class HighscoresController { + + HighscoresService highscoresService = new HighscoresService(); + + public HighscoresController(){ + + } + + + public void fetchHighscores(JFrame window){ + highscoresService.fetchHighscores(new Callable() { + @Override + public String call() throws Exception { + window.revalidate(); + window.repaint(); + System.out.println("ASDDD"); + return ""; + } + }); + } + +} diff --git a/Client/src/com/texttwist/client/pages/HomeController.java b/Client/src/com/texttwist/client/controllers/HomeController.java similarity index 91% rename from Client/src/com/texttwist/client/pages/HomeController.java rename to Client/src/com/texttwist/client/controllers/HomeController.java index cbc0a55..5d05eb5 100644 --- a/Client/src/com/texttwist/client/pages/HomeController.java +++ b/Client/src/com/texttwist/client/controllers/HomeController.java @@ -1,24 +1,24 @@ -package com.texttwist.client.pages; -import com.texttwist.client.App; -import models.Response; - -import java.net.MalformedURLException; -import java.rmi.NotBoundException; -import java.rmi.RemoteException; - -/** - * Created by loke on 15/06/2017. - */ -public class HomeController { - - public HomeController(){ - } - - public Response login(String userName, String password) throws RemoteException, NotBoundException, MalformedURLException { - Response res = App.authService.login(userName,password); - if (res.code == 200){ - App.sessionService.create(userName, res.data.get("token").toString()); - } - return res; - } -} +package com.texttwist.client.controllers; +import com.texttwist.client.App; +import models.Response; + +import java.net.MalformedURLException; +import java.rmi.NotBoundException; +import java.rmi.RemoteException; + +/** + * Created by loke on 15/06/2017. + */ +public class HomeController { + + public HomeController(){ + } + + public Response login(String userName, String password) throws RemoteException, NotBoundException, MalformedURLException { + Response res = App.authService.login(userName,password); + if (res.code == 200){ + App.sessionService.create(userName, res.data.get("token").toString()); + } + return res; + } +} diff --git a/Client/src/com/texttwist/client/pages/MatchSetupController.java b/Client/src/com/texttwist/client/controllers/MatchSetupController.java similarity index 81% rename from Client/src/com/texttwist/client/pages/MatchSetupController.java rename to Client/src/com/texttwist/client/controllers/MatchSetupController.java index 1d0026f..e119048 100644 --- a/Client/src/com/texttwist/client/pages/MatchSetupController.java +++ b/Client/src/com/texttwist/client/controllers/MatchSetupController.java @@ -1,27 +1,27 @@ -package com.texttwist.client.pages; - -import com.texttwist.client.App; -import models.Response; - -import javax.swing.*; -import java.io.IOException; -import java.net.MalformedURLException; -import java.rmi.NotBoundException; -import java.rmi.RemoteException; - -/** - * Created by loke on 18/06/2017. - */ -public class MatchSetupController { - - public MatchSetupController(){} - public Object play(DefaultListModel userNames) { - try { - return App.matchService.play(userNames); - } catch (IOException e) { - e.printStackTrace(); - } - return null; - } - -} +package com.texttwist.client.controllers; + +import com.texttwist.client.App; +import models.Response; + +import javax.swing.*; +import java.io.IOException; +import java.net.MalformedURLException; +import java.rmi.NotBoundException; +import java.rmi.RemoteException; + +/** + * Created by loke on 18/06/2017. + */ +public class MatchSetupController { + + public MatchSetupController(){} + public Object play(DefaultListModel userNames) { + try { + return App.match.play(userNames); + } catch (IOException e) { + e.printStackTrace(); + } + return null; + } + +} diff --git a/Client/src/com/texttwist/client/pages/MenuController.java b/Client/src/com/texttwist/client/controllers/MenuController.java similarity index 90% rename from Client/src/com/texttwist/client/pages/MenuController.java rename to Client/src/com/texttwist/client/controllers/MenuController.java index 9456d69..1029684 100644 --- a/Client/src/com/texttwist/client/pages/MenuController.java +++ b/Client/src/com/texttwist/client/controllers/MenuController.java @@ -1,25 +1,25 @@ -package com.texttwist.client.pages; - -import com.texttwist.client.App; -import models.Response; - -import java.net.MalformedURLException; -import java.rmi.NotBoundException; -import java.rmi.RemoteException; - -/** - * Created by loke on 17/06/2017. - */ -public class MenuController { - - public MenuController(){ - } - - public Response logout(String userName) throws RemoteException, NotBoundException, MalformedURLException { - Response res = App.authService.logout(userName); - if (res.code == 200){ - App.sessionService.remove(); - } - return res; - } -} +package com.texttwist.client.controllers; + +import com.texttwist.client.App; +import models.Response; + +import java.net.MalformedURLException; +import java.rmi.NotBoundException; +import java.rmi.RemoteException; + +/** + * Created by loke on 17/06/2017. + */ +public class MenuController { + + public MenuController(){ + } + + public Response logout(String userName) throws RemoteException, NotBoundException, MalformedURLException { + Response res = App.authService.logout(userName); + if (res.code == 200){ + App.sessionService.remove(); + } + return res; + } +} diff --git a/Client/src/com/texttwist/client/pages/RegisterController.java b/Client/src/com/texttwist/client/controllers/RegisterController.java similarity index 89% rename from Client/src/com/texttwist/client/pages/RegisterController.java rename to Client/src/com/texttwist/client/controllers/RegisterController.java index 7de0a6f..d914e18 100644 --- a/Client/src/com/texttwist/client/pages/RegisterController.java +++ b/Client/src/com/texttwist/client/controllers/RegisterController.java @@ -1,21 +1,21 @@ -package com.texttwist.client.pages; - -import com.texttwist.client.App; -import models.Response; - -import java.net.MalformedURLException; -import java.rmi.NotBoundException; -import java.rmi.RemoteException; - -/** - * Created by loke on 17/06/2017. - */ -public class RegisterController { - - public RegisterController(){ - } - - public Response register(String userName, String password) throws RemoteException, NotBoundException, MalformedURLException { - return App.authService.register(userName,password); - } -} +package com.texttwist.client.controllers; + +import com.texttwist.client.App; +import models.Response; + +import java.net.MalformedURLException; +import java.rmi.NotBoundException; +import java.rmi.RemoteException; + +/** + * Created by loke on 17/06/2017. + */ +public class RegisterController { + + public RegisterController(){ + } + + public Response register(String userName, String password) throws RemoteException, NotBoundException, MalformedURLException { + return App.authService.register(userName,password); + } +} diff --git a/Client/src/com/texttwist/client/pages/Game.java b/Client/src/com/texttwist/client/pages/Game.java index 8b2e258..3351a70 100644 --- a/Client/src/com/texttwist/client/pages/Game.java +++ b/Client/src/com/texttwist/client/pages/Game.java @@ -1,62 +1,66 @@ package com.texttwist.client.pages; - -import com.texttwist.client.tasks.StartGame; +import com.texttwist.client.controllers.GameController; +import constants.Config; import constants.Palette; import com.texttwist.client.ui.*; - import javax.swing.*; import java.awt.*; import java.io.IOException; import java.util.concurrent.*; /** - * Created by loke on 14/06/2017. + * Game Page */ public class Game extends Page { private TTContainer gameContainer; - public GameController gameController; - public TTGameBox gameBox; - public DefaultListModel words = new DefaultListModel(); - public DefaultListModel letterSpawningPoint = new DefaultListModel(); + private TTGameBox gameBox; + private GameController gameController; + public Timer timer; - public Timer timer = null; + /*Spawnig points, fixed and not modifiable*/ + private final DefaultListModel letterSpawningPoints = setLetterSpawningPoint(); - public Point getRandomPosition(){ - if(letterSpawningPoint.size()>1) { - int index = ThreadLocalRandom.current().nextInt(0, letterSpawningPoint.size() - 1); - Point placeholder = letterSpawningPoint.get(index); - letterSpawningPoint.remove(index); + /*Available spawning points*/ + private DefaultListModel availableLetterSpawningPoint = new DefaultListModel<>(); + + public Game(JFrame window) throws IOException { + + super(window); + gameController = new GameController(this); + availableLetterSpawningPoint.clear(); + availableLetterSpawningPoint = letterSpawningPoints; + gameController.waitForPlayers(gameController.startGame()).execute(); + createUIComponents(); + window.setVisible(true); + } + + private Point occupyRandomPosition(){ + + if(availableLetterSpawningPoint.size() > 1) { + int index = ThreadLocalRandom.current().nextInt(0, letterSpawningPoints.size() - 1); + Point placeholder = letterSpawningPoints.get(index); + letterSpawningPoints.remove(index); return placeholder; } + return new Point(0,0); } - public void showLetters(){ - for(int i = 0; i< this.gameController.letters.size(); i++){ - TTLetter letter = new TTLetter( - getRandomPosition(), - this.gameController.letters.get(i), - gameContainer); - } - - window.repaint(); - window.revalidate(); - } - - public Game(JFrame window) throws IOException { - super(window); - createUIComponents(); - gameController = new GameController(); - letterSpawningPoint = setLetterSpawningPoint(); - this.gameController.waitForPlayers(); - this.gameController.startGame(this); - window.setVisible(true); + private SwingWorker timeIsOver() { + return gameController.sendWords(new SwingWorker() { + @Override + protected Object doInBackground() throws Exception { + new Highscores(window,true); + return null; + } + }); } private DefaultListModel setLetterSpawningPoint(){ - DefaultListModel l = new DefaultListModel(); + + DefaultListModel l = new DefaultListModel<>(); //FirstRow l.addElement(new Point(100,30)); @@ -78,49 +82,55 @@ public class Game extends Page { l.addElement(new Point(350,145)); l.addElement(new Point(450,140)); l.addElement(new Point(550,130)); + return l; } + public void showLetters(){ + + /* Place letters in a available random spawning point */ + for(int i = 0; i < gameController.getLetters().size(); i++){ + new TTLetter( + occupyRandomPosition(), + gameController.getLetters().get(i), + gameContainer + ); + } + + window.repaint(); + window.revalidate(); + } + @Override public void createUIComponents() throws IOException { + addLogo(root); + gameContainer = new TTContainer( - null, - new Dimension(1150,220), - Palette.root_backgroundColor, - -1, - root); + null, + new Dimension(1150,220), + Palette.root_backgroundColor, + -1, + root + ); gameBox = new TTGameBox( new Point(150, 90), new Dimension(250, 40), "Insert word and Press ENTER!", - words, - gameContainer); + gameController.getWords(), + gameContainer + ); addFooter(root); - addNext(footer, - new Font(Palette.inputBox_font.getFontName(), Font.BOLD, 70), - null, - "Done!", - new Callable() { - @Override - public Object call() throws Exception { - return null; - } - }); - timer = addTimer(footer, - new Font(Palette.inputBox_font.getFontName(), Font.BOLD, 40), - null, - "00:00", - new Callable() { - @Override - public Object call() throws Exception { - gameController.sendWords(words); - return null; - }}, - 15); + timer = addTimer( + footer, + new Font(Palette.inputBox_font.getFontName(), Font.BOLD, 40), + null, + "00:00", + timeIsOver(), + Config.timeoutGame + ); } - } diff --git a/Client/src/com/texttwist/client/pages/GameController.java b/Client/src/com/texttwist/client/pages/GameController.java deleted file mode 100644 index dc6a107..0000000 --- a/Client/src/com/texttwist/client/pages/GameController.java +++ /dev/null @@ -1,85 +0,0 @@ -package com.texttwist.client.pages; - -import com.texttwist.client.App; -import com.texttwist.client.tasks.StartGame; -import com.texttwist.client.tasks.WaitForPlayers; -import com.texttwist.client.tasks.WaitForScore; -import com.texttwist.client.ui.TTDialog; -import com.texttwist.client.ui.TTLetter; -import constants.Config; -import models.Message; - -import javax.swing.*; -import java.awt.*; -import java.io.BufferedReader; -import java.io.IOException; -import java.io.InputStreamReader; -import java.net.*; -import java.util.concurrent.Callable; -import java.util.concurrent.ThreadLocalRandom; - -/** - * Created by loke on 25/06/2017. - */ -public class GameController { - - - public DefaultListModel letters = new DefaultListModel(); - public DefaultListModel words = new DefaultListModel(); - - public GameController(){ - } - - public DefaultListModel waitForPlayers() { - return App.matchService.waitForPlayers(); - } - - - public void waitForScore(){ - SwingWorker worker = new WaitForScore(); - worker.execute(); - - } - - public boolean addWordToWordsList(String word) { - words.addElement(word); - return true; - } - - public Callable sendWords(DefaultListModel words){ - System.out.println("SENDDDD" + words); - - DatagramSocket clientSocket = null; - try { - clientSocket = new DatagramSocket(); - - InetAddress IPAddress = InetAddress.getByName(Config.WordsReceiverServerURI); - byte[] sendData = new byte[1024]; - byte[] receiveData = new byte[1024]; - Message msg = new Message("WORDS",App.sessionService.account.userName,"",words); - String sentence = msg.toString(); - sendData = sentence.getBytes(); - DatagramPacket sendPacket = new DatagramPacket(sendData, sendData.length, IPAddress, Config.WordsReceiverServerPort); - clientSocket.send(sendPacket); - clientSocket.close(); - waitForScore(); - - } catch (SocketException e) { - e.printStackTrace(); - } catch (UnknownHostException e) { - e.printStackTrace(); - } catch (IOException e) { - e.printStackTrace(); - } - return null; - - } - - public Thread startGame(Game game){ - Thread t = new Thread(new StartGame(game)); - t.start(); - return t; - } - - -} diff --git a/Client/src/com/texttwist/client/pages/Highscores.java b/Client/src/com/texttwist/client/pages/Highscores.java index e942290..4f5998e 100644 --- a/Client/src/com/texttwist/client/pages/Highscores.java +++ b/Client/src/com/texttwist/client/pages/Highscores.java @@ -1,7 +1,10 @@ package com.texttwist.client.pages; +import com.texttwist.client.App; +import com.texttwist.client.controllers.HighscoresController; import constants.Palette; import com.texttwist.client.ui.*; +import javafx.util.Pair; import javax.swing.*; import java.awt.*; @@ -14,33 +17,33 @@ import java.util.concurrent.Callable; public class Highscores extends Page{ public TTContainer highscoreContainer; - Highscores(JFrame window) throws IOException { + public Boolean isPartialScore; + public HighscoresController highscoreController; + public DefaultListModel> ranks = new DefaultListModel<>(); + + public Highscores(JFrame window, Boolean isPartialScore) throws IOException { super(window); + this.isPartialScore = isPartialScore; + + highscoreController = new HighscoresController(); + System.out.println("SHSHSHSHs"); + System.out.println(App.match.ranks); + System.out.println(App.match.globalRanks); + + System.out.println(ranks); + System.out.println("SHSHSHSssssssHs"); + + if(this.isPartialScore){ + this.ranks = App.match.ranks; + } else { + this.highscoreController.fetchHighscores(window); + this.ranks = App.match.globalRanks; + } createUIComponents(); + window.setVisible(true); } - private DefaultListModel fetchHighscores(){ - DefaultListModel highscoreList = new DefaultListModel(); - highscoreList.addElement("Pippo 41"); - highscoreList.addElement("Paperino 37"); - highscoreList.addElement("Gaia 34"); - highscoreList.addElement("Luigi 32"); - highscoreList.addElement("Marco 31"); - highscoreList.addElement("Minnie 30"); - highscoreList.addElement("Franco 30"); - highscoreList.addElement("Qua 29"); - highscoreList.addElement("Luca 27"); - highscoreList.addElement("Qui 26"); - highscoreList.addElement("Jorge 25"); - highscoreList.addElement("David 22"); - highscoreList.addElement("Quo 21"); - highscoreList.addElement("Raphael 21"); - highscoreList.addElement("Miguel 16"); - highscoreList.addElement("Carmen 14"); - highscoreList.addElement("Beatriz 12"); - return highscoreList; - } @Override public void createUIComponents() throws IOException { addLogo(root); @@ -54,7 +57,7 @@ public class Highscores extends Page{ TTLabel title = new TTLabel( new Point(200,0), new Dimension(350,50), - "Highscores", + this.isPartialScore ? "Scores of the match" : "Highscores", new Font(Palette.inputBox_font.getFontName(), Font.ITALIC, 38), null, highscoreContainer); @@ -62,7 +65,7 @@ public class Highscores extends Page{ TTScrollList highscoreList = new TTScrollList( new Point(20, 60), new Dimension(515, 142), - fetchHighscores(), + this.ranks, highscoreContainer); addFooter(root); diff --git a/Client/src/com/texttwist/client/pages/Home.java b/Client/src/com/texttwist/client/pages/Home.java index 6be1900..a43c258 100644 --- a/Client/src/com/texttwist/client/pages/Home.java +++ b/Client/src/com/texttwist/client/pages/Home.java @@ -1,4 +1,5 @@ package com.texttwist.client.pages; +import com.texttwist.client.controllers.HomeController; import constants.Palette; import com.texttwist.client.ui.*; import com.texttwist.client.ui.TTDialog; diff --git a/Client/src/com/texttwist/client/pages/MatchRequests.java b/Client/src/com/texttwist/client/pages/MatchRequests.java index 5022a3f..17d5db4 100644 --- a/Client/src/com/texttwist/client/pages/MatchRequests.java +++ b/Client/src/com/texttwist/client/pages/MatchRequests.java @@ -45,7 +45,7 @@ public class MatchRequests extends Page{ TTScrollList pendingMatches = new TTScrollList( new Point(20, 60), new Dimension(520, 142), - App.matchService.pendingList, + App.match.pendingList, matchsContainer); pendingMatches.addMouseListener(new MouseAdapter() { @@ -56,7 +56,7 @@ public class MatchRequests extends Page{ if (evt.getClickCount() == 2) { // Double-click detected int index = thisList.locationToIndex(evt.getPoint()); - App.matchService.joinMatch(App.matchService.pendingList.get(index)); + App.match.joinMatch(App.match.pendingList.get(index)); } } }); diff --git a/Client/src/com/texttwist/client/pages/MatchSetup.java b/Client/src/com/texttwist/client/pages/MatchSetup.java index 0ac9443..e521caf 100644 --- a/Client/src/com/texttwist/client/pages/MatchSetup.java +++ b/Client/src/com/texttwist/client/pages/MatchSetup.java @@ -1,8 +1,8 @@ package com.texttwist.client.pages; +import com.texttwist.client.controllers.MatchSetupController; import constants.Palette; import com.texttwist.client.ui.*; -import models.Response; import javax.swing.*; import java.awt.*; diff --git a/Client/src/com/texttwist/client/pages/Menu.java b/Client/src/com/texttwist/client/pages/Menu.java index 83e5c96..d32701b 100644 --- a/Client/src/com/texttwist/client/pages/Menu.java +++ b/Client/src/com/texttwist/client/pages/Menu.java @@ -1,5 +1,6 @@ package com.texttwist.client.pages; import com.texttwist.client.App; +import com.texttwist.client.controllers.MenuController; import constants.Palette; import com.texttwist.client.ui.*; @@ -80,7 +81,7 @@ public class Menu extends Page{ new Callable() { @Override public Object call() throws Exception { - return new Highscores(Page.window); + return new Highscores(Page.window, false); } }, menuBar); diff --git a/Client/src/com/texttwist/client/pages/Page.java b/Client/src/com/texttwist/client/pages/Page.java index 3220428..5a42733 100644 --- a/Client/src/com/texttwist/client/pages/Page.java +++ b/Client/src/com/texttwist/client/pages/Page.java @@ -93,7 +93,7 @@ public class Page { parent); } - public Timer addTimer(TTContainer parent, Font font, Color fontColor, String caption, Callable timerEndHandler, Integer value) { + public Timer addTimer(TTContainer parent, Font font, Color fontColor, String caption, SwingWorker timerEndHandler, Integer value) { TTLabel lblTimer = new TTLabel( new Point(0, 0), new Dimension(150, 50), @@ -109,7 +109,7 @@ public class Page { if (count <= 0) { lblTimer.setText("00:00"); try { - timerEndHandler.call(); + timerEndHandler.execute(); } catch (Exception e1) { e1.printStackTrace(); } diff --git a/Client/src/com/texttwist/client/pages/Register.java b/Client/src/com/texttwist/client/pages/Register.java index cbe5b68..9ed9a31 100644 --- a/Client/src/com/texttwist/client/pages/Register.java +++ b/Client/src/com/texttwist/client/pages/Register.java @@ -1,5 +1,6 @@ package com.texttwist.client.pages; +import com.texttwist.client.controllers.RegisterController; import constants.Palette; import com.texttwist.client.ui.*; import models.Response; diff --git a/Client/src/com/texttwist/client/pages/AuthService.java b/Client/src/com/texttwist/client/services/AuthService.java similarity index 82% rename from Client/src/com/texttwist/client/pages/AuthService.java rename to Client/src/com/texttwist/client/services/AuthService.java index 7e99e51..380b60e 100644 --- a/Client/src/com/texttwist/client/pages/AuthService.java +++ b/Client/src/com/texttwist/client/services/AuthService.java @@ -1,37 +1,32 @@ -package com.texttwist.client.pages; - -import com.texttwist.client.App; -import constants.Config; -import interfaces.IAuth; -import models.Response; - -import java.net.MalformedURLException; -import java.rmi.Naming; -import java.rmi.NotBoundException; -import java.rmi.RemoteException; - -/** - * Created by loke on 17/06/2017. - */ -public class AuthService { - - protected String baseUrl = Config.getAuthServerURI().concat("/auth"); - - public AuthService(){ - } - - public Response login(String userName, String password) throws RemoteException, NotBoundException, MalformedURLException { - IAuth auth = (IAuth) Naming.lookup(baseUrl); - return auth.login(userName, password); - } - - public Response register(String userName, String password) throws RemoteException, NotBoundException, MalformedURLException { - IAuth auth = (IAuth) Naming.lookup(baseUrl); - return auth.register(userName, password); - } - - public Response logout(String userName) throws RemoteException, NotBoundException, MalformedURLException { - IAuth auth = (IAuth) Naming.lookup(baseUrl); - return auth.logout(userName, App.sessionService.account.token); - } -} +package com.texttwist.client.services; +import com.texttwist.client.App; +import constants.Config; +import interfaces.IAuth; +import models.Response; +import java.net.MalformedURLException; +import java.rmi.Naming; +import java.rmi.NotBoundException; +import java.rmi.RemoteException; + +/** + * Authentication Service + */ +public class AuthService { + + private String baseUrl = Config.getAuthServerURI().concat("/auth"); + + public Response login(String userName, String password) throws RemoteException, NotBoundException, MalformedURLException { + IAuth auth = (IAuth) Naming.lookup(baseUrl); + return auth.login(userName, password); + } + + public Response register(String userName, String password) throws RemoteException, NotBoundException, MalformedURLException { + IAuth auth = (IAuth) Naming.lookup(baseUrl); + return auth.register(userName, password); + } + + public Response logout(String userName) throws RemoteException, NotBoundException, MalformedURLException { + IAuth auth = (IAuth) Naming.lookup(baseUrl); + return auth.logout(userName, App.sessionService.account.token); + } +} diff --git a/Client/src/com/texttwist/client/services/HighscoresService.java b/Client/src/com/texttwist/client/services/HighscoresService.java new file mode 100644 index 0000000..59d0be3 --- /dev/null +++ b/Client/src/com/texttwist/client/services/HighscoresService.java @@ -0,0 +1,44 @@ +package com.texttwist.client.services; + +import com.texttwist.client.App; +import com.texttwist.client.tasks.FetchHighscore; +import com.texttwist.client.tasks.WaitForScore; +import constants.Config; +import javafx.util.Pair; +import models.Message; + +import javax.swing.*; +import java.io.IOException; +import java.net.InetSocketAddress; +import java.nio.ByteBuffer; +import java.nio.channels.SocketChannel; +import java.util.concurrent.Callable; + +/** + * Created by loke on 28/06/2017. + */ +public class HighscoresService { + + ByteBuffer buffer = ByteBuffer.allocate(1024); + public DefaultListModel ranks = new DefaultListModel<>(); + + SocketChannel clientSocket = null; + + public HighscoresService(){ + InetSocketAddress socketAddress = new InetSocketAddress(Config.GameServerURI, Config.GameServerPort); + try { + clientSocket = SocketChannel.open(socketAddress); + clientSocket.configureBlocking(false); + + } catch (IOException e) { + e.printStackTrace(); + } + } + + public void fetchHighscores(Callable callback){ + SwingWorker worker = new FetchHighscore(callback, clientSocket); + worker.execute(); + } + +} + diff --git a/Client/src/com/texttwist/client/pages/MatchService.java b/Client/src/com/texttwist/client/services/MatchModel.java similarity index 81% rename from Client/src/com/texttwist/client/pages/MatchService.java rename to Client/src/com/texttwist/client/services/MatchModel.java index 6650443..2d76503 100644 --- a/Client/src/com/texttwist/client/pages/MatchService.java +++ b/Client/src/com/texttwist/client/services/MatchModel.java @@ -1,113 +1,118 @@ -package com.texttwist.client.pages; - -import com.texttwist.client.App; -import com.texttwist.client.tasks.InvitePlayers; -import com.texttwist.client.tasks.WaitForPlayers; -import com.texttwist.client.ui.TTDialog; -import constants.Config; -import models.Message; - -import javax.swing.*; -import java.io.*; -import java.net.InetSocketAddress; -import java.nio.ByteBuffer; -import java.nio.channels.SocketChannel; -import java.util.concurrent.*; - -/** - * Created by loke on 18/06/2017. - */ -public class MatchService { - - public Integer multicastId = 0 ; - public DefaultListModel pendingList = new DefaultListModel(); - ByteBuffer buffer = ByteBuffer.allocate(1024); - public DefaultListModel words = new DefaultListModel(); - - SocketChannel clientSocket = null; - - public MatchService(){ - InetSocketAddress socketAddress = new InetSocketAddress(Config.GameServerURI, Config.GameServerPort); - try { - clientSocket = SocketChannel.open(socketAddress); - clientSocket.configureBlocking(false); - - } catch (IOException e) { - e.printStackTrace(); - } - } - - - public void newMatch(String userName) { - //Aggiungi alla lista di inviti - try { - this.addToPendingList(userName); - } catch (IOException e) { - e.printStackTrace(); - } - - //Visualizza popup - new TTDialog("success", "New invitation from: " + userName + "!", - new Callable() { - @Override - public Object call() throws Exception { - App.matchService.joinMatch(userName); - return null; - } - }, - new Callable() { - @Override - public Object call() throws Exception { - return new Menu(Page.window); - } - }); - } - - - public DefaultListModel waitForPlayers(){ - DefaultListModel words = new DefaultListModel<>(); - SwingWorker worker = new WaitForPlayers(clientSocket, words); - worker.execute(); - return null; - } - - - public void setWords(DefaultListModel words){ - this.words = words; - } - - public void joinMatch(String matchName) { - //Svuota la lista dei match pendenti e joina il match selezionato - this.pendingList.clear(); - try { - //Invia tcp req a server per dirgli che sto joinando - DefaultListModel matchNames = new DefaultListModel(); - matchNames.addElement(matchName); - Message message = new Message("JOIN_GAME", App.sessionService.account.userName, App.sessionService.account.token, matchNames); - - byte[] byteMessage = new String(message.toString()).getBytes(); - buffer = ByteBuffer.wrap(byteMessage); - clientSocket.write(buffer); - - new Game(Page.window); - - } catch (IOException e) { - e.printStackTrace(); - } - } - - - public Object play(DefaultListModel userNames) throws IOException { - SwingWorker worker = new InvitePlayers(userNames,clientSocket); - worker.execute(); - return null; - } - - public void setMulticastId(Integer multicastId){ - this.multicastId = multicastId; - } - - public void addToPendingList(String username) throws IOException { - pendingList.addElement(username); - } -} +package com.texttwist.client.services; + +import com.texttwist.client.App; +import com.texttwist.client.pages.Game; +import com.texttwist.client.pages.Menu; +import com.texttwist.client.pages.Page; +import com.texttwist.client.tasks.InvitePlayers; +import com.texttwist.client.tasks.WaitForPlayers; +import com.texttwist.client.ui.TTDialog; +import constants.Config; +import javafx.util.Pair; +import models.Message; + +import javax.swing.*; +import java.io.*; +import java.net.InetSocketAddress; +import java.nio.ByteBuffer; +import java.nio.channels.SocketChannel; +import java.util.concurrent.*; + +/** + * Created by loke on 18/06/2017. + */ +public class MatchModel { + + public Integer multicastId = 0 ; + public DefaultListModel pendingList = new DefaultListModel(); + ByteBuffer buffer = ByteBuffer.allocate(1024); + public DefaultListModel words = new DefaultListModel(); + public DefaultListModel letters = new DefaultListModel(); + public DefaultListModel> ranks = new DefaultListModel<>(); + public DefaultListModel> globalRanks = new DefaultListModel<>(); + + public SocketChannel clientSocket = null; + + public MatchModel(){ + InetSocketAddress socketAddress = new InetSocketAddress(Config.GameServerURI, Config.GameServerPort); + try { + clientSocket = SocketChannel.open(socketAddress); + clientSocket.configureBlocking(false); + + } catch (IOException e) { + e.printStackTrace(); + } + } + + + public void newMatch(String userName) { + //Aggiungi alla lista di inviti + try { + this.addToPendingList(userName); + } catch (IOException e) { + e.printStackTrace(); + } + + //Visualizza popup + new TTDialog("success", "New invitation from: " + userName + "!", + new Callable() { + @Override + public Object call() throws Exception { + App.match.joinMatch(userName); + return null; + } + }, + new Callable() { + @Override + public Object call() throws Exception { + return new Menu(Page.window); + } + }); + } + + + public void setWords(DefaultListModel words){ + this.words = words; + } + + + + public void setLetters(DefaultListModel letters){ + this.letters = letters; + } + + public void joinMatch(String matchName) { + //Svuota la lista dei match pendenti e joina il match selezionato + this.pendingList.clear(); + try { + //Invia tcp req a server per dirgli che sto joinando + DefaultListModel matchNames = new DefaultListModel(); + matchNames.addElement(matchName); + Message message = new Message("JOIN_GAME", App.sessionService.account.userName, App.sessionService.account.token, matchNames); + + byte[] byteMessage = new String(message.toString()).getBytes(); + buffer = ByteBuffer.wrap(byteMessage); + clientSocket.write(buffer); + + new Game(Page.window); + + } catch (IOException e) { + e.printStackTrace(); + } + } + + + public Object play(DefaultListModel userNames) throws IOException { + SwingWorker worker = new InvitePlayers(userNames,clientSocket); + worker.execute(); + return null; + } + + public void setMulticastId(Integer multicastId){ + this.multicastId = multicastId; + } + + public void addToPendingList(String username) throws IOException { + pendingList.addElement(username); + } +} diff --git a/Client/src/com/texttwist/client/services/NotificationClient.java b/Client/src/com/texttwist/client/services/NotificationClient.java index 580f88b..1e3197a 100644 --- a/Client/src/com/texttwist/client/services/NotificationClient.java +++ b/Client/src/com/texttwist/client/services/NotificationClient.java @@ -29,7 +29,7 @@ public class NotificationClient implements INotificationClient { if(users.contains(App.sessionService.account.userName)){ Logger.write(userName+" ti ha sfidato!"); - App.matchService.newMatch(userName); + App.match.newMatch(userName); } return null; } diff --git a/Client/src/com/texttwist/client/pages/SessionService.java b/Client/src/com/texttwist/client/services/SessionService.java similarity index 85% rename from Client/src/com/texttwist/client/pages/SessionService.java rename to Client/src/com/texttwist/client/services/SessionService.java index 6e90231..d28ec66 100644 --- a/Client/src/com/texttwist/client/pages/SessionService.java +++ b/Client/src/com/texttwist/client/services/SessionService.java @@ -1,20 +1,20 @@ -package com.texttwist.client.pages; - -import models.Session; - -/** - * Created by loke on 17/06/2017. - */ -public class SessionService { - - public Session account; - public SessionService(){} - - public void create(String userName, String token) { - account = new Session(userName, token); - } - - public void remove(){ - account = null; - } -} +package com.texttwist.client.services; + +import models.Session; + +/** + * Created by loke on 17/06/2017. + */ +public class SessionService { + + public Session account; + public SessionService(){} + + public void create(String userName, String token) { + account = new Session(userName, token); + } + + public void remove(){ + account = null; + } +} diff --git a/Client/src/com/texttwist/client/tasks/FetchHighscore.java b/Client/src/com/texttwist/client/tasks/FetchHighscore.java new file mode 100644 index 0000000..5a98e0e --- /dev/null +++ b/Client/src/com/texttwist/client/tasks/FetchHighscore.java @@ -0,0 +1,99 @@ +package com.texttwist.client.tasks; + +import com.texttwist.client.App; +import constants.Config; +import javafx.util.Pair; +import models.Message; + +import javax.swing.*; +import java.io.IOException; +import java.net.DatagramPacket; +import java.net.InetAddress; +import java.net.MulticastSocket; +import java.net.UnknownHostException; +import java.nio.ByteBuffer; +import java.nio.channels.SocketChannel; +import java.util.concurrent.Callable; + +/** + * Created by loke on 28/06/2017. + */ +public class FetchHighscore extends SwingWorker { + + DefaultListModel> globalRanks = new DefaultListModel>(); + Callable callback; + SocketChannel socketChannel; + ByteBuffer buffer = ByteBuffer.allocate(1024); + + //TODO PASSARE LA CALLBACK ALLO SWING WORKER ED ESEGUIRLA AL DONE + public FetchHighscore(Callable callback, SocketChannel socketChannel){ + this.socketChannel = socketChannel; + this.callback = callback; + } + + @Override + public Void doInBackground() { + Message message = new Message("FETCH_HIGHSCORES", App.sessionService.account.userName, App.sessionService.account.token, new DefaultListModel<>()); + buffer.flip(); + buffer.clear(); + byte[] byteMessage = new String(message.toString()).getBytes(); + buffer = ByteBuffer.wrap(byteMessage); + try { + socketChannel.write(buffer); + } catch (IOException e) { + e.printStackTrace(); + } + + try { + buffer = ByteBuffer.allocate(1024); + + while (socketChannel.read(buffer) != -1) { + + buffer.clear(); + + String line = new String(buffer.array(), buffer.position(), buffer.remaining()); + + if (line.startsWith("MESSAGE")) { + Message msg = Message.toMessage(line); + System.out.println(line); + if (msg.message.equals("HIGHSCORES")) { + + for(int i = 0; i< msg.data.size()-1; i++){ + String[] splitted = msg.data.get(i).split(":"); + System.out.println(splitted.toString()); + globalRanks.addElement(new Pair(splitted[0],new Integer(splitted[1]))); + } + + App.match.globalRanks = globalRanks; + + System.out.println(globalRanks); + /*new TTDialog("alert", "Users not online!", + new Callable() { + @Override + public Object call() throws Exception { + return null; + } + }, null);*/ + return null; + + } + } + } + } catch (IOException e) { + e.printStackTrace(); + } + return null; + } + + public void done(){ + System.out.println("Done"); + App.match.globalRanks = globalRanks; + try { + this.callback.call(); + } catch (Exception e) { + e.printStackTrace(); + } + } + +} + diff --git a/Client/src/com/texttwist/client/tasks/InvitePlayers.java b/Client/src/com/texttwist/client/tasks/InvitePlayers.java index 4858450..4f7f810 100644 --- a/Client/src/com/texttwist/client/tasks/InvitePlayers.java +++ b/Client/src/com/texttwist/client/tasks/InvitePlayers.java @@ -83,7 +83,7 @@ public class InvitePlayers extends SwingWorker { @Override public void done() { - System.out.println("Done"); + System.out.println("Done invite players"); } } diff --git a/Client/src/com/texttwist/client/tasks/SendWords.java b/Client/src/com/texttwist/client/tasks/SendWords.java new file mode 100644 index 0000000..d9f501b --- /dev/null +++ b/Client/src/com/texttwist/client/tasks/SendWords.java @@ -0,0 +1,70 @@ +package com.texttwist.client.tasks; + +import com.texttwist.client.App; +import com.texttwist.client.pages.Highscores; +import constants.Config; +import javafx.util.Pair; +import models.Message; + +import javax.swing.*; +import java.io.IOException; +import java.net.*; +import java.util.concurrent.Callable; +import java.util.concurrent.RunnableFuture; + +import static com.texttwist.client.pages.Page.window; + +/** + * Created by loke on 29/06/2017. + */ +public class SendWords extends SwingWorker { + + DefaultListModel> ranks = new DefaultListModel>(); + + SwingWorker callback; + DefaultListModel words = new DefaultListModel<>(); + + //TODO PASSARE LA CALLBACK ALLO SWING WORKER ED ESEGUIRLA AL DONE + public SendWords(DefaultListModel words, SwingWorker callback){ + this.callback = callback; + this.words = words; + } + + @Override + public Void doInBackground() { + DatagramSocket clientSocket = null; + try { + clientSocket = new DatagramSocket(); + + InetAddress IPAddress = InetAddress.getByName(Config.WordsReceiverServerURI); + byte[] sendData = new byte[1024]; + byte[] receiveData = new byte[1024]; + Message msg = new Message("WORDS", App.sessionService.account.userName, "", words); + String sentence = msg.toString(); + sendData = sentence.getBytes(); + DatagramPacket sendPacket = new DatagramPacket(sendData, sendData.length, IPAddress, Config.WordsReceiverServerPort); + clientSocket.send(sendPacket); + clientSocket.close(); + + return null; + } catch (UnknownHostException e) { + e.printStackTrace(); + } catch (SocketException e) { + e.printStackTrace(); + } catch (IOException e) { + e.printStackTrace(); + } + return null; + } + + @Override + public void done(){ + System.out.println("Done"); + try { + this.callback.execute(); + } catch (Exception e) { + e.printStackTrace(); + } + } + +} diff --git a/Client/src/com/texttwist/client/tasks/StartGame.java b/Client/src/com/texttwist/client/tasks/StartGame.java index ee4155a..af5b2a2 100644 --- a/Client/src/com/texttwist/client/tasks/StartGame.java +++ b/Client/src/com/texttwist/client/tasks/StartGame.java @@ -2,10 +2,7 @@ package com.texttwist.client.tasks; import com.texttwist.client.App; import com.texttwist.client.pages.Game; -import com.texttwist.client.pages.GameController; -import com.texttwist.client.pages.Page; import com.texttwist.client.ui.TTDialog; -import oracle.jrockit.jfr.JFR; import javax.swing.*; import java.util.concurrent.Callable; @@ -13,21 +10,20 @@ import java.util.concurrent.Callable; /** * Created by loke on 25/06/2017. */ -public class StartGame implements Runnable { +public class StartGame extends SwingWorker { - public Game game; - public StartGame(Game game){ + + /*Words inserted from user*/ + private DefaultListModel letters = new DefaultListModel<>(); + private Game game; + + public StartGame(DefaultListModel letters, Game game){ + this.letters = letters; this.game = game; - } @Override - public void run(){ - - //Letters are ready? Polling - while(!(this.game.gameController.letters.size() > 0)) { - this.game.gameController.letters = App.matchService.words; - } + public Void doInBackground(){ //Mostra pannello di conferma che le lettere sono tutte arrivate new TTDialog("success", "Game is ready. Press OK to start!", @@ -35,9 +31,16 @@ public class StartGame implements Runnable { @Override public Object call() throws Exception { game.showLetters(); + System.out.println(letters); game.timer.start(); return null; } }, null); + return null; + } + + @Override + public void done(){ + System.out.println("Done start game"); } } diff --git a/Client/src/com/texttwist/client/tasks/WaitForPlayers.java b/Client/src/com/texttwist/client/tasks/WaitForPlayers.java index 1a1be0c..2d2874d 100644 --- a/Client/src/com/texttwist/client/tasks/WaitForPlayers.java +++ b/Client/src/com/texttwist/client/tasks/WaitForPlayers.java @@ -14,6 +14,7 @@ import java.nio.ByteBuffer; import java.nio.channels.SocketChannel; import java.util.concurrent.Callable; import java.util.concurrent.Future; +import java.util.concurrent.RunnableFuture; /** * Created by loke on 25/06/2017. @@ -22,11 +23,15 @@ public class WaitForPlayers extends SwingWorker,Default public SocketChannel socketChannel; public DefaultListModel words; - ByteBuffer buffer = ByteBuffer.allocate(1024); + public DefaultListModel letters; - public WaitForPlayers(SocketChannel socketChannel, DefaultListModel words) { - this.socketChannel = socketChannel; + ByteBuffer buffer = ByteBuffer.allocate(1024); + SwingWorker callback; + + public WaitForPlayers(SwingWorker callback) { + this.callback = callback; this.words = words; + this.socketChannel = App.match.clientSocket; } @Override @@ -65,11 +70,10 @@ public class WaitForPlayers extends SwingWorker,Default System.out.println(msg.data); Integer multicastId = Integer.valueOf(data.remove(data.size()-2)); System.out.println(multicastId); - App.matchService.setMulticastId(multicastId); - words = msg.data; + App.match.setMulticastId(multicastId); + letters = msg.data; //socketChannel.close(); - App.matchService.setWords(words); return words; } } @@ -80,7 +84,16 @@ public class WaitForPlayers extends SwingWorker,Default return new DefaultListModel(); } + @Override public void done(){ - System.out.println("Done"); + System.out.println("Done wait for players"); + try { + System.out.println(letters); + App.match.setLetters(letters); + System.out.println("PAROLE IN INVIO"); + this.callback.execute(); + } catch (Exception e) { + e.printStackTrace(); + } } } diff --git a/Client/src/com/texttwist/client/tasks/WaitForScore.java b/Client/src/com/texttwist/client/tasks/WaitForScore.java index f4d4f00..ecbef04 100644 --- a/Client/src/com/texttwist/client/tasks/WaitForScore.java +++ b/Client/src/com/texttwist/client/tasks/WaitForScore.java @@ -1,7 +1,10 @@ package com.texttwist.client.tasks; +import com.sun.org.apache.xpath.internal.operations.Bool; import com.texttwist.client.App; import constants.Config; +import javafx.util.Pair; +import models.Message; import javax.swing.*; import java.io.IOException; @@ -9,19 +12,29 @@ import java.net.DatagramPacket; import java.net.InetAddress; import java.net.MulticastSocket; import java.net.UnknownHostException; +import java.util.concurrent.Callable; +import java.util.concurrent.RunnableFuture; /** * Created by loke on 27/06/2017. */ public class WaitForScore extends SwingWorker { + DefaultListModel> ranks = new DefaultListModel>(); + + SwingWorker callback; + + //TODO PASSARE LA CALLBACK ALLO SWING WORKER ED ESEGUIRLA AL DONE + public WaitForScore(SwingWorker callback){ + this.callback = callback; + } @Override public Void doInBackground() { InetAddress group = null; try { - MulticastSocket ms = new MulticastSocket(App.matchService.multicastId); + MulticastSocket ms = new MulticastSocket(App.match.multicastId); InetAddress ia = InetAddress.getByName(Config.ScoreMulticastServerURI); ms.joinGroup(ia); System.out.println("Join multicast group"); @@ -30,7 +43,21 @@ public class WaitForScore extends SwingWorker { DatagramPacket recv = new DatagramPacket(buf, buf.length); ms.receive(recv); String s = new String(recv.getData()); + System.out.println("HSHSHSHS"); System.out.println(s); + Message msg = Message.toMessage(s); + System.out.println(msg.data); + + for(int i = 0; i< msg.data.size()-1; i++){ + String[] splitted = msg.data.get(i).split(":"); + System.out.println(splitted.toString()); + ranks.addElement(new Pair(splitted[0],new Integer(splitted[1]))); + } + + App.match.ranks = ranks; + System.out.println(App.match.ranks); + System.out.println("ENDDDDd"); + } catch (UnknownHostException e) { e.printStackTrace(); } catch (IOException e) { @@ -39,8 +66,15 @@ public class WaitForScore extends SwingWorker { return null; } + @Override public void done(){ System.out.println("Done"); + App.match.ranks = ranks; + try { + this.callback.execute(); + } catch (Exception e) { + e.printStackTrace(); + } } } diff --git a/Client/src/com/texttwist/client/ui/TTGameBox.java b/Client/src/com/texttwist/client/ui/TTGameBox.java index e020e5b..784de61 100644 --- a/Client/src/com/texttwist/client/ui/TTGameBox.java +++ b/Client/src/com/texttwist/client/ui/TTGameBox.java @@ -15,7 +15,7 @@ public class TTGameBox extends TTInputField{ public TTGameBox(Point position, Dimension dimension, String placeholer, - DefaultListModel listModel, + DefaultListModel list, TTContainer parent){ super(position, dimension, placeholer, parent); @@ -31,8 +31,7 @@ public class TTGameBox extends TTInputField{ super.keyPressed(e); if(e.getKeyCode() == 10){ try { - System.out.println(getText()); - listModel.addElement(getText()); + list.addElement(getText()); setText(""); } catch (Exception e1) { e1.printStackTrace(); diff --git a/Commons/src/constants/Config.java b/Commons/src/constants/Config.java index a891639..3107cf9 100644 --- a/Commons/src/constants/Config.java +++ b/Commons/src/constants/Config.java @@ -23,6 +23,9 @@ public class Config { public static String NotificationServerName ="notification"; + public static int timeoutGame = 15; + + public static String getNotificationServerURI(){ return "rmi://".concat(NotificationServerURI).concat(":").concat(NotificationServerPort.toString()); } diff --git a/Commons/src/models/Account.java b/Commons/src/models/Account.java deleted file mode 100644 index 7aa9b22..0000000 --- a/Commons/src/models/Account.java +++ /dev/null @@ -1,17 +0,0 @@ -package models; - -/** - * Created by loke on 18/06/2017. - */ -public class Account { - public String userName; - public String password; - - public Account(String userName, String password){ - this.userName = userName; - this.password = password; - } - - - -} diff --git a/Commons/src/models/User.java b/Commons/src/models/User.java index 9013f5d..398b4ca 100644 --- a/Commons/src/models/User.java +++ b/Commons/src/models/User.java @@ -4,12 +4,19 @@ package models; * Created by loke on 18/06/2017. */ public class User { - public String userName; - public User(String userName){ + public String userName; + public String password; + public Integer score = 0; + + public User(String userName, String password){ this.userName = userName; + this.password = password; + } + + public void addScore(Integer score){ + this.score += score; } - } diff --git a/Server/src/com/texttwist/server/components/AccountsManager.java b/Server/src/com/texttwist/server/components/AccountsManager.java index 90adebe..976e917 100644 --- a/Server/src/com/texttwist/server/components/AccountsManager.java +++ b/Server/src/com/texttwist/server/components/AccountsManager.java @@ -1,7 +1,5 @@ package com.texttwist.server.components; -import models.Account; -import models.Session; import models.User; import java.util.ArrayList; @@ -14,7 +12,7 @@ import java.util.List; */ public class AccountsManager { - private List accounts = Collections.synchronizedList(new ArrayList()); + public List users = Collections.synchronizedList(new ArrayList()); private static class Holder { static final AccountsManager INSTANCE = new AccountsManager(); @@ -25,22 +23,22 @@ public class AccountsManager { } private AccountsManager(){ - accounts.add(new Account("a","a")); - accounts.add(new Account("b","b")); - accounts.add(new Account("c","c")); + users.add(new User("a","a")); + users.add(new User("b","b")); + users.add(new User("c","c")); } public boolean register(String userName, String password) { if(!exists(userName)){ - return accounts.add(new Account(userName, password)); + return users.add(new User(userName, password)); } else { return false; } } public boolean exists(String userName) { - synchronized(accounts) { - Iterator i = accounts.iterator(); + synchronized(users) { + Iterator i = users.iterator(); while (i.hasNext()) { if (i.next().userName.equals(userName)) { return true; @@ -51,10 +49,10 @@ public class AccountsManager { } public boolean checkPassword(String userName, String password) { - synchronized(accounts) { - Iterator i = accounts.iterator(); + synchronized(users) { + Iterator i = users.iterator(); while (i.hasNext()) { - Account account = i.next(); + User account = i.next(); if (account.userName.equals(userName) && account.password.equals(password)) { return true; } @@ -63,8 +61,21 @@ public class AccountsManager { } } + public User findUser(String userName){ + synchronized(users) { + Iterator i = users.iterator(); + while (i.hasNext()) { + User u = i.next(); + if (u.userName.equals(userName)) { + return u; + } + } + return null; + } + } + public int size(){ - return accounts.size(); + return users.size(); } } diff --git a/Server/src/com/texttwist/server/components/Auth.java b/Server/src/com/texttwist/server/components/Auth.java index c75cff0..8178d6d 100644 --- a/Server/src/com/texttwist/server/components/Auth.java +++ b/Server/src/com/texttwist/server/components/Auth.java @@ -1,14 +1,11 @@ package com.texttwist.server.components; import interfaces.IAuth; -import models.Account; import models.Response; import org.json.simple.JsonObject; import utilities.Logger; import java.math.BigInteger; import java.rmi.RemoteException; -import java.rmi.registry.LocateRegistry; -import java.rmi.registry.Registry; import java.rmi.server.UnicastRemoteObject; import java.security.SecureRandom; diff --git a/Server/src/com/texttwist/server/components/SessionsManager.java b/Server/src/com/texttwist/server/components/SessionsManager.java index d82abd5..467ea67 100644 --- a/Server/src/com/texttwist/server/components/SessionsManager.java +++ b/Server/src/com/texttwist/server/components/SessionsManager.java @@ -1,5 +1,4 @@ package com.texttwist.server.components; -import models.Account; import models.Session; import java.util.ArrayList; diff --git a/Server/src/com/texttwist/server/components/ThreadProxy.java b/Server/src/com/texttwist/server/components/ThreadProxy.java index e67f607..7e3fed3 100644 --- a/Server/src/com/texttwist/server/components/ThreadProxy.java +++ b/Server/src/com/texttwist/server/components/ThreadProxy.java @@ -109,6 +109,28 @@ public class ThreadProxy implements Callable { e.printStackTrace(); } + case "FETCH_HIGHSCORES": + Future> computeHighscores = threadPool.submit(new ComputeHighscores()); + try { + System.out.println("FETCHHH"); + DefaultListModel computeHighscoresRes = computeHighscores.get(); + Message message = new Message("HIGHSCORES", "", "", computeHighscoresRes); + byteMessage = message.toString().getBytes(); + + buffer = ByteBuffer.wrap(byteMessage); + try { + socketChannel.write(buffer); + } catch (IOException e) { + e.printStackTrace(); + } + } catch (InterruptedException e) { + e.printStackTrace(); + } catch (ExecutionException e) { + e.printStackTrace(); + } + return true; + + case "JOIN_GAME": Future joinMatch = threadPool.submit(new JoinMatch(request.sender, request.data, socketChannel)); try { @@ -177,9 +199,7 @@ public class ThreadProxy implements Callable { } catch (IOException e) { e.printStackTrace(); } - { - } default: break; diff --git a/Server/src/com/texttwist/server/tasks/ComputeHighscores.java b/Server/src/com/texttwist/server/tasks/ComputeHighscores.java new file mode 100644 index 0000000..6287966 --- /dev/null +++ b/Server/src/com/texttwist/server/tasks/ComputeHighscores.java @@ -0,0 +1,24 @@ +package com.texttwist.server.tasks; + +import com.texttwist.server.components.AccountsManager; + +import javax.swing.*; +import java.util.concurrent.Callable; + +/** + * Created by loke on 28/06/2017. + */ +public class ComputeHighscores implements Callable> { + + public ComputeHighscores(){} + + @Override + public DefaultListModel call() throws Exception { + System.out.println("COMPUTE HIGHSCORE"); + DefaultListModel l = new DefaultListModel<>(); + for(int i =0; i< AccountsManager.getInstance().users.size(); i++){ + l.addElement(AccountsManager.getInstance().users.get(i).userName+":"+AccountsManager.getInstance().users.get(i).score); + } + return l; + } +} \ No newline at end of file diff --git a/Server/src/com/texttwist/server/tasks/ComputeScore.java b/Server/src/com/texttwist/server/tasks/ComputeScore.java index f30dc9b..e928375 100644 --- a/Server/src/com/texttwist/server/tasks/ComputeScore.java +++ b/Server/src/com/texttwist/server/tasks/ComputeScore.java @@ -1,6 +1,9 @@ package com.texttwist.server.tasks; +import com.texttwist.client.App; +import com.texttwist.server.components.AccountsManager; import com.texttwist.server.models.Dictionary; import com.texttwist.server.models.Match; +import models.User; import javax.swing.*; import java.util.concurrent.Callable; @@ -30,6 +33,8 @@ public class ComputeScore implements Callable { } } match.setScore(sender, score); + User u = AccountsManager.getInstance().findUser(sender); + u.addScore(score); return score; } diff --git a/client_1.log b/client_1.log index b5435ea..d7d6127 100644 --- a/client_1.log +++ b/client_1.log @@ -2377,3 +2377,230 @@ LOGGER (Client1): Tue Jun 27 15:44:03 CEST 2017 - Client starting ... LOGGER (Client1): Tue Jun 27 15:44:11 CEST 2017 - Invoked invitation with username=b|[a] LOGGER (Client1): Tue Jun 27 15:44:11 CEST 2017 - b ti ha sfidato! LOGGER (Client1): Tue Jun 27 15:44:11 CEST 2017 - Invoked invitation with username=b|[a] +LOGGER (Client1): Wed Jun 28 08:56:30 CEST 2017 - Client starting ... +LOGGER (Client1): Wed Jun 28 08:56:33 CEST 2017 - Client starting ... +LOGGER (Client1): Wed Jun 28 08:56:47 CEST 2017 - Invoked invitation with username=a|[b] +LOGGER (Client1): Wed Jun 28 08:56:47 CEST 2017 - Invoked invitation with username=a|[b] +LOGGER (Client1): Wed Jun 28 08:56:47 CEST 2017 - a ti ha sfidato! +LOGGER (Client1): Wed Jun 28 09:51:52 CEST 2017 - Client starting ... +LOGGER (Client1): Wed Jun 28 09:51:54 CEST 2017 - Client starting ... +LOGGER (Client1): Wed Jun 28 09:52:02 CEST 2017 - Invoked invitation with username=b|[a] +LOGGER (Client1): Wed Jun 28 09:52:02 CEST 2017 - b ti ha sfidato! +LOGGER (Client1): Wed Jun 28 09:52:02 CEST 2017 - Invoked invitation with username=b|[a] +LOGGER (Client1): Wed Jun 28 09:52:38 CEST 2017 - Client starting ... +LOGGER (Client1): Wed Jun 28 09:55:04 CEST 2017 - Client starting ... +LOGGER (Client1): Wed Jun 28 09:55:07 CEST 2017 - Client starting ... +LOGGER (Client1): Wed Jun 28 09:55:15 CEST 2017 - Invoked invitation with username=b|[a] +LOGGER (Client1): Wed Jun 28 09:55:15 CEST 2017 - b ti ha sfidato! +LOGGER (Client1): Wed Jun 28 09:55:15 CEST 2017 - Invoked invitation with username=b|[a] +LOGGER (Client1): Wed Jun 28 09:58:22 CEST 2017 - Client starting ... +LOGGER (Client1): Wed Jun 28 09:58:29 CEST 2017 - Client starting ... +LOGGER (Client1): Wed Jun 28 09:58:39 CEST 2017 - Invoked invitation with username=a|[b] +LOGGER (Client1): Wed Jun 28 09:58:39 CEST 2017 - Invoked invitation with username=a|[b] +LOGGER (Client1): Wed Jun 28 09:58:39 CEST 2017 - a ti ha sfidato! +LOGGER (Client1): Wed Jun 28 09:59:50 CEST 2017 - Client starting ... +LOGGER (Client1): Wed Jun 28 09:59:52 CEST 2017 - Client starting ... +LOGGER (Client1): Wed Jun 28 10:00:00 CEST 2017 - Invoked invitation with username=b|[a] +LOGGER (Client1): Wed Jun 28 10:00:00 CEST 2017 - b ti ha sfidato! +LOGGER (Client1): Wed Jun 28 10:00:00 CEST 2017 - Invoked invitation with username=b|[a] +LOGGER (Client1): Wed Jun 28 10:05:09 CEST 2017 - Client starting ... +LOGGER (Client1): Wed Jun 28 10:05:12 CEST 2017 - Client starting ... +LOGGER (Client1): Wed Jun 28 10:05:19 CEST 2017 - Invoked invitation with username=b|[a] +LOGGER (Client1): Wed Jun 28 10:05:19 CEST 2017 - b ti ha sfidato! +LOGGER (Client1): Wed Jun 28 10:05:19 CEST 2017 - Invoked invitation with username=b|[a] +LOGGER (Client1): Wed Jun 28 10:17:26 CEST 2017 - Client starting ... +LOGGER (Client1): Wed Jun 28 10:17:27 CEST 2017 - Client starting ... +LOGGER (Client1): Wed Jun 28 10:17:36 CEST 2017 - Invoked invitation with username=b|[a] +LOGGER (Client1): Wed Jun 28 10:17:36 CEST 2017 - b ti ha sfidato! +LOGGER (Client1): Wed Jun 28 10:17:36 CEST 2017 - Invoked invitation with username=b|[a] +LOGGER (Client1): Wed Jun 28 10:19:09 CEST 2017 - Client starting ... +LOGGER (Client1): Wed Jun 28 10:19:28 CEST 2017 - Client starting ... +LOGGER (Client1): Wed Jun 28 10:19:30 CEST 2017 - Client starting ... +LOGGER (Client1): Wed Jun 28 10:19:37 CEST 2017 - Invoked invitation with username=b|[a] +LOGGER (Client1): Wed Jun 28 10:19:37 CEST 2017 - b ti ha sfidato! +LOGGER (Client1): Wed Jun 28 10:19:37 CEST 2017 - Invoked invitation with username=b|[a] +LOGGER (Client1): Wed Jun 28 10:21:33 CEST 2017 - Client starting ... +LOGGER (Client1): Wed Jun 28 10:21:34 CEST 2017 - Client starting ... +LOGGER (Client1): Wed Jun 28 10:21:42 CEST 2017 - Invoked invitation with username=b|[a] +LOGGER (Client1): Wed Jun 28 10:21:42 CEST 2017 - b ti ha sfidato! +LOGGER (Client1): Wed Jun 28 10:21:42 CEST 2017 - Invoked invitation with username=b|[a] +LOGGER (Client1): Wed Jun 28 10:23:36 CEST 2017 - Client starting ... +LOGGER (Client1): Wed Jun 28 10:23:39 CEST 2017 - Client starting ... +LOGGER (Client1): Wed Jun 28 10:23:46 CEST 2017 - Invoked invitation with username=b|[a] +LOGGER (Client1): Wed Jun 28 10:23:46 CEST 2017 - b ti ha sfidato! +LOGGER (Client1): Wed Jun 28 10:23:46 CEST 2017 - Invoked invitation with username=b|[a] +LOGGER (Client1): Wed Jun 28 10:29:58 CEST 2017 - Client starting ... +LOGGER (Client1): Wed Jun 28 10:30:00 CEST 2017 - Client starting ... +LOGGER (Client1): Wed Jun 28 10:30:09 CEST 2017 - Invoked invitation with username=b|[a] +LOGGER (Client1): Wed Jun 28 10:30:09 CEST 2017 - b ti ha sfidato! +LOGGER (Client1): Wed Jun 28 10:30:09 CEST 2017 - Invoked invitation with username=b|[a] +LOGGER (Client1): Wed Jun 28 10:36:04 CEST 2017 - Client starting ... +LOGGER (Client1): Wed Jun 28 10:36:06 CEST 2017 - Client starting ... +LOGGER (Client1): Wed Jun 28 10:36:13 CEST 2017 - Invoked invitation with username=b|[a] +LOGGER (Client1): Wed Jun 28 10:36:13 CEST 2017 - b ti ha sfidato! +LOGGER (Client1): Wed Jun 28 10:36:13 CEST 2017 - Invoked invitation with username=b|[a] +LOGGER (Client1): Wed Jun 28 10:38:18 CEST 2017 - Client starting ... +LOGGER (Client1): Wed Jun 28 10:38:20 CEST 2017 - Client starting ... +LOGGER (Client1): Wed Jun 28 10:38:29 CEST 2017 - Invoked invitation with username=b|[a] +LOGGER (Client1): Wed Jun 28 10:38:29 CEST 2017 - b ti ha sfidato! +LOGGER (Client1): Wed Jun 28 10:38:29 CEST 2017 - Invoked invitation with username=b|[a] +LOGGER (Client1): Wed Jun 28 10:56:00 CEST 2017 - Client starting ... +LOGGER (Client1): Wed Jun 28 10:56:01 CEST 2017 - Client starting ... +LOGGER (Client1): Wed Jun 28 10:56:08 CEST 2017 - Invoked invitation with username=b|[a] +LOGGER (Client1): Wed Jun 28 10:56:08 CEST 2017 - b ti ha sfidato! +LOGGER (Client1): Wed Jun 28 10:56:09 CEST 2017 - Invoked invitation with username=b|[a] +LOGGER (Client1): Wed Jun 28 11:21:44 CEST 2017 - Client starting ... +LOGGER (Client1): Wed Jun 28 11:21:48 CEST 2017 - Client starting ... +LOGGER (Client1): Wed Jun 28 11:21:57 CEST 2017 - Invoked invitation with username=b|[a] +LOGGER (Client1): Wed Jun 28 11:21:57 CEST 2017 - Invoked invitation with username=b|[a] +LOGGER (Client1): Wed Jun 28 11:21:57 CEST 2017 - b ti ha sfidato! +LOGGER (Client1): Wed Jun 28 11:24:39 CEST 2017 - Client starting ... +LOGGER (Client1): Wed Jun 28 11:24:41 CEST 2017 - Client starting ... +LOGGER (Client1): Wed Jun 28 11:24:48 CEST 2017 - Invoked invitation with username=b|[a] +LOGGER (Client1): Wed Jun 28 11:24:48 CEST 2017 - b ti ha sfidato! +LOGGER (Client1): Wed Jun 28 11:24:48 CEST 2017 - Invoked invitation with username=b|[a] +LOGGER (Client1): Wed Jun 28 11:26:17 CEST 2017 - Client starting ... +LOGGER (Client1): Wed Jun 28 11:26:19 CEST 2017 - Client starting ... +LOGGER (Client1): Wed Jun 28 11:26:26 CEST 2017 - Invoked invitation with username=b|[a] +LOGGER (Client1): Wed Jun 28 11:26:26 CEST 2017 - b ti ha sfidato! +LOGGER (Client1): Wed Jun 28 11:26:27 CEST 2017 - Invoked invitation with username=b|[a] +LOGGER (Client1): Wed Jun 28 11:28:03 CEST 2017 - Client starting ... +LOGGER (Client1): Wed Jun 28 11:28:05 CEST 2017 - Client starting ... +LOGGER (Client1): Wed Jun 28 11:28:55 CEST 2017 - Client starting ... +LOGGER (Client1): Wed Jun 28 11:29:35 CEST 2017 - Client starting ... +LOGGER (Client1): Wed Jun 28 11:30:38 CEST 2017 - Client starting ... +LOGGER (Client1): Wed Jun 28 11:44:12 CEST 2017 - Client starting ... +LOGGER (Client1): Wed Jun 28 11:44:13 CEST 2017 - Client starting ... +LOGGER (Client1): Wed Jun 28 11:44:32 CEST 2017 - Invoked invitation with username=a|[b] +LOGGER (Client1): Wed Jun 28 11:44:32 CEST 2017 - Invoked invitation with username=a|[b] +LOGGER (Client1): Wed Jun 28 11:44:32 CEST 2017 - a ti ha sfidato! +LOGGER (Client1): Wed Jun 28 11:46:38 CEST 2017 - Client starting ... +LOGGER (Client1): Wed Jun 28 11:46:39 CEST 2017 - Client starting ... +LOGGER (Client1): Wed Jun 28 11:46:50 CEST 2017 - Invoked invitation with username=b|[a] +LOGGER (Client1): Wed Jun 28 11:46:50 CEST 2017 - b ti ha sfidato! +LOGGER (Client1): Wed Jun 28 11:46:50 CEST 2017 - Invoked invitation with username=b|[a] +LOGGER (Client1): Wed Jun 28 11:48:35 CEST 2017 - Client starting ... +LOGGER (Client1): Wed Jun 28 11:48:37 CEST 2017 - Client starting ... +LOGGER (Client1): Wed Jun 28 11:48:45 CEST 2017 - Invoked invitation with username=b|[a] +LOGGER (Client1): Wed Jun 28 11:48:45 CEST 2017 - b ti ha sfidato! +LOGGER (Client1): Wed Jun 28 11:48:45 CEST 2017 - Invoked invitation with username=b|[a] +LOGGER (Client1): Wed Jun 28 11:53:18 CEST 2017 - Client starting ... +LOGGER (Client1): Wed Jun 28 11:53:19 CEST 2017 - Client starting ... +LOGGER (Client1): Wed Jun 28 11:53:25 CEST 2017 - Invoked invitation with username=b|[a] +LOGGER (Client1): Wed Jun 28 11:53:25 CEST 2017 - b ti ha sfidato! +LOGGER (Client1): Wed Jun 28 11:53:26 CEST 2017 - Invoked invitation with username=b|[a] +LOGGER (Client1): Wed Jun 28 11:58:31 CEST 2017 - Client starting ... +LOGGER (Client1): Wed Jun 28 11:58:33 CEST 2017 - Client starting ... +LOGGER (Client1): Wed Jun 28 11:58:43 CEST 2017 - Invoked invitation with username=b|[a] +LOGGER (Client1): Wed Jun 28 11:58:43 CEST 2017 - b ti ha sfidato! +LOGGER (Client1): Wed Jun 28 11:58:43 CEST 2017 - Invoked invitation with username=b|[a] +LOGGER (Client1): Wed Jun 28 12:01:10 CEST 2017 - Client starting ... +LOGGER (Client1): Wed Jun 28 12:01:12 CEST 2017 - Client starting ... +LOGGER (Client1): Wed Jun 28 12:01:20 CEST 2017 - Invoked invitation with username=b|[a] +LOGGER (Client1): Wed Jun 28 12:01:20 CEST 2017 - b ti ha sfidato! +LOGGER (Client1): Wed Jun 28 12:01:20 CEST 2017 - Invoked invitation with username=b|[a] +LOGGER (Client1): Thu Jun 29 13:17:51 CEST 2017 - Client starting ... +LOGGER (Client1): Thu Jun 29 13:17:55 CEST 2017 - Client starting ... +LOGGER (Client1): Thu Jun 29 13:18:10 CEST 2017 - Invoked invitation with username=a|[b] +LOGGER (Client1): Thu Jun 29 13:18:10 CEST 2017 - Invoked invitation with username=a|[b] +LOGGER (Client1): Thu Jun 29 13:18:10 CEST 2017 - a ti ha sfidato! +LOGGER (Client1): Thu Jun 29 13:20:16 CEST 2017 - Client starting ... +LOGGER (Client1): Thu Jun 29 13:20:17 CEST 2017 - Client starting ... +LOGGER (Client1): Thu Jun 29 13:20:25 CEST 2017 - Invoked invitation with username=b|[a] +LOGGER (Client1): Thu Jun 29 13:20:25 CEST 2017 - b ti ha sfidato! +LOGGER (Client1): Thu Jun 29 13:20:25 CEST 2017 - Invoked invitation with username=b|[a] +LOGGER (Client1): Thu Jun 29 13:22:46 CEST 2017 - Client starting ... +LOGGER (Client1): Thu Jun 29 13:22:48 CEST 2017 - Client starting ... +LOGGER (Client1): Thu Jun 29 13:22:54 CEST 2017 - Invoked invitation with username=b|[a] +LOGGER (Client1): Thu Jun 29 13:22:54 CEST 2017 - b ti ha sfidato! +LOGGER (Client1): Thu Jun 29 13:22:54 CEST 2017 - Invoked invitation with username=b|[a] +LOGGER (Client1): Thu Jun 29 13:23:41 CEST 2017 - Client starting ... +LOGGER (Client1): Thu Jun 29 13:23:43 CEST 2017 - Client starting ... +LOGGER (Client1): Thu Jun 29 13:23:51 CEST 2017 - Invoked invitation with username=b|[a] +LOGGER (Client1): Thu Jun 29 13:23:51 CEST 2017 - Invoked invitation with username=b|[a] +LOGGER (Client1): Thu Jun 29 13:23:51 CEST 2017 - b ti ha sfidato! +LOGGER (Client1): Thu Jun 29 13:24:26 CEST 2017 - Client starting ... +LOGGER (Client1): Thu Jun 29 13:24:29 CEST 2017 - Client starting ... +LOGGER (Client1): Thu Jun 29 13:24:38 CEST 2017 - Invoked invitation with username=b|[a] +LOGGER (Client1): Thu Jun 29 13:24:38 CEST 2017 - b ti ha sfidato! +LOGGER (Client1): Thu Jun 29 13:24:38 CEST 2017 - Invoked invitation with username=b|[a] +LOGGER (Client1): Thu Jun 29 13:25:46 CEST 2017 - Client starting ... +LOGGER (Client1): Thu Jun 29 13:25:51 CEST 2017 - Client starting ... +LOGGER (Client1): Thu Jun 29 13:25:56 CEST 2017 - Invoked invitation with username=b|[a] +LOGGER (Client1): Thu Jun 29 13:25:56 CEST 2017 - b ti ha sfidato! +LOGGER (Client1): Thu Jun 29 13:25:56 CEST 2017 - Invoked invitation with username=b|[a] +LOGGER (Client1): Thu Jun 29 13:27:44 CEST 2017 - Client starting ... +LOGGER (Client1): Thu Jun 29 13:27:46 CEST 2017 - Client starting ... +LOGGER (Client1): Thu Jun 29 13:27:54 CEST 2017 - Invoked invitation with username=b|[a] +LOGGER (Client1): Thu Jun 29 13:27:54 CEST 2017 - b ti ha sfidato! +LOGGER (Client1): Thu Jun 29 13:27:54 CEST 2017 - Invoked invitation with username=b|[a] +LOGGER (Client1): Thu Jun 29 13:32:32 CEST 2017 - Client starting ... +LOGGER (Client1): Thu Jun 29 13:32:34 CEST 2017 - Client starting ... +LOGGER (Client1): Thu Jun 29 13:32:42 CEST 2017 - Invoked invitation with username=b|[a] +LOGGER (Client1): Thu Jun 29 13:32:42 CEST 2017 - b ti ha sfidato! +LOGGER (Client1): Thu Jun 29 13:32:42 CEST 2017 - Invoked invitation with username=b|[a] +LOGGER (Client1): Thu Jun 29 13:55:02 CEST 2017 - Client starting ... +LOGGER (Client1): Thu Jun 29 13:55:04 CEST 2017 - Client starting ... +LOGGER (Client1): Thu Jun 29 13:55:13 CEST 2017 - Invoked invitation with username=b|[a] +LOGGER (Client1): Thu Jun 29 13:55:13 CEST 2017 - b ti ha sfidato! +LOGGER (Client1): Thu Jun 29 13:55:13 CEST 2017 - Invoked invitation with username=b|[a] +LOGGER (Client1): Thu Jun 29 13:56:18 CEST 2017 - Client starting ... +LOGGER (Client1): Thu Jun 29 13:56:21 CEST 2017 - Client starting ... +LOGGER (Client1): Thu Jun 29 13:56:29 CEST 2017 - Invoked invitation with username=b|[a] +LOGGER (Client1): Thu Jun 29 13:56:29 CEST 2017 - b ti ha sfidato! +LOGGER (Client1): Thu Jun 29 13:56:29 CEST 2017 - Invoked invitation with username=b|[a] +LOGGER (Client1): Thu Jun 29 13:58:54 CEST 2017 - Client starting ... +LOGGER (Client1): Thu Jun 29 13:58:56 CEST 2017 - Client starting ... +LOGGER (Client1): Thu Jun 29 13:59:06 CEST 2017 - Invoked invitation with username=b|[a] +LOGGER (Client1): Thu Jun 29 13:59:06 CEST 2017 - b ti ha sfidato! +LOGGER (Client1): Thu Jun 29 13:59:06 CEST 2017 - Invoked invitation with username=b|[a] +LOGGER (Client1): Thu Jun 29 14:00:58 CEST 2017 - Client starting ... +LOGGER (Client1): Thu Jun 29 14:01:00 CEST 2017 - Client starting ... +LOGGER (Client1): Thu Jun 29 14:01:06 CEST 2017 - Invoked invitation with username=b|[a] +LOGGER (Client1): Thu Jun 29 14:01:06 CEST 2017 - b ti ha sfidato! +LOGGER (Client1): Thu Jun 29 14:01:06 CEST 2017 - Invoked invitation with username=b|[a] +LOGGER (Client1): Thu Jun 29 14:02:23 CEST 2017 - Client starting ... +LOGGER (Client1): Thu Jun 29 14:02:25 CEST 2017 - Client starting ... +LOGGER (Client1): Thu Jun 29 14:02:31 CEST 2017 - Invoked invitation with username=b|[a] +LOGGER (Client1): Thu Jun 29 14:02:31 CEST 2017 - b ti ha sfidato! +LOGGER (Client1): Thu Jun 29 14:02:32 CEST 2017 - Invoked invitation with username=b|[a] +LOGGER (Client1): Thu Jun 29 14:03:29 CEST 2017 - Client starting ... +LOGGER (Client1): Thu Jun 29 14:03:31 CEST 2017 - Client starting ... +LOGGER (Client1): Thu Jun 29 14:03:39 CEST 2017 - Invoked invitation with username=b|[a] +LOGGER (Client1): Thu Jun 29 14:03:39 CEST 2017 - b ti ha sfidato! +LOGGER (Client1): Thu Jun 29 14:03:39 CEST 2017 - Invoked invitation with username=b|[a] +LOGGER (Client1): Thu Jun 29 14:05:39 CEST 2017 - Client starting ... +LOGGER (Client1): Thu Jun 29 14:05:40 CEST 2017 - Client starting ... +LOGGER (Client1): Thu Jun 29 14:05:48 CEST 2017 - Invoked invitation with username=b|[a] +LOGGER (Client1): Thu Jun 29 14:05:48 CEST 2017 - b ti ha sfidato! +LOGGER (Client1): Thu Jun 29 14:05:48 CEST 2017 - Invoked invitation with username=b|[a] +LOGGER (Client1): Thu Jun 29 14:17:29 CEST 2017 - Client starting ... +LOGGER (Client1): Thu Jun 29 14:17:30 CEST 2017 - Client starting ... +LOGGER (Client1): Thu Jun 29 14:17:37 CEST 2017 - Invoked invitation with username=b|[a] +LOGGER (Client1): Thu Jun 29 14:17:37 CEST 2017 - b ti ha sfidato! +LOGGER (Client1): Thu Jun 29 14:17:37 CEST 2017 - Invoked invitation with username=b|[a] +LOGGER (Client1): Thu Jun 29 14:45:53 CEST 2017 - Client starting ... +LOGGER (Client1): Thu Jun 29 14:46:01 CEST 2017 - Client starting ... +LOGGER (Client1): Thu Jun 29 14:46:37 CEST 2017 - Invoked invitation with username=b|[a] +LOGGER (Client1): Thu Jun 29 14:46:37 CEST 2017 - b ti ha sfidato! +LOGGER (Client1): Thu Jun 29 14:46:37 CEST 2017 - Invoked invitation with username=b|[a] +LOGGER (Client1): Thu Jun 29 14:59:19 CEST 2017 - Client starting ... +LOGGER (Client1): Thu Jun 29 14:59:21 CEST 2017 - Client starting ... +LOGGER (Client1): Thu Jun 29 14:59:34 CEST 2017 - Invoked invitation with username=b|[a] +LOGGER (Client1): Thu Jun 29 14:59:34 CEST 2017 - b ti ha sfidato! +LOGGER (Client1): Thu Jun 29 14:59:34 CEST 2017 - Invoked invitation with username=b|[a] +LOGGER (Client1): Thu Jun 29 15:00:46 CEST 2017 - Client starting ... +LOGGER (Client1): Thu Jun 29 15:00:47 CEST 2017 - Client starting ... +LOGGER (Client1): Thu Jun 29 15:00:56 CEST 2017 - Invoked invitation with username=b|[a] +LOGGER (Client1): Thu Jun 29 15:00:56 CEST 2017 - b ti ha sfidato! +LOGGER (Client1): Thu Jun 29 15:00:56 CEST 2017 - Invoked invitation with username=b|[a] +LOGGER (Client1): Thu Jun 29 15:02:38 CEST 2017 - Client starting ... +LOGGER (Client1): Thu Jun 29 15:02:40 CEST 2017 - Client starting ... +LOGGER (Client1): Thu Jun 29 15:02:48 CEST 2017 - Invoked invitation with username=b|[a] +LOGGER (Client1): Thu Jun 29 15:02:48 CEST 2017 - b ti ha sfidato! +LOGGER (Client1): Thu Jun 29 15:02:48 CEST 2017 - Invoked invitation with username=b|[a] +LOGGER (Client1): Thu Jun 29 15:08:29 CEST 2017 - Client starting ... +LOGGER (Client1): Thu Jun 29 15:08:31 CEST 2017 - Client starting ... +LOGGER (Client1): Thu Jun 29 15:08:42 CEST 2017 - Invoked invitation with username=b|[a] +LOGGER (Client1): Thu Jun 29 15:08:42 CEST 2017 - b ti ha sfidato! +LOGGER (Client1): Thu Jun 29 15:08:42 CEST 2017 - Invoked invitation with username=b|[a] diff --git a/server.log b/server.log index 9b635bf..da2fe05 100644 --- a/server.log +++ b/server.log @@ -4383,3 +4383,392 @@ LOGGER (Server): Tue Jun 27 15:44:06 CEST 2017 - Invoked login with username=a A LOGGER (Server): Tue Jun 27 15:44:06 CEST 2017 - Login successfull LOGGER (Server): Tue Jun 27 15:44:08 CEST 2017 - Invoked login with username=b AND password=b LOGGER (Server): Tue Jun 27 15:44:08 CEST 2017 - Login successfull +LOGGER (Server): Wed Jun 28 08:56:27 CEST 2017 - Server starting ... +LOGGER (Server): Wed Jun 28 08:56:27 CEST 2017 - Auth Service running at 9999 port... +LOGGER (Server): Wed Jun 28 08:56:27 CEST 2017 - Game Service is running at 10000 port... +LOGGER (Server): Wed Jun 28 08:56:27 CEST 2017 - Server started +LOGGER (Server): Wed Jun 28 08:56:39 CEST 2017 - Invoked login with username=a AND password=a +LOGGER (Server): Wed Jun 28 08:56:39 CEST 2017 - Login successfull +LOGGER (Server): Wed Jun 28 08:56:43 CEST 2017 - Invoked login with username=b AND password=b +LOGGER (Server): Wed Jun 28 08:56:43 CEST 2017 - Login successfull +LOGGER (Server): Wed Jun 28 09:51:14 CEST 2017 - Server starting ... +LOGGER (Server): Wed Jun 28 09:51:14 CEST 2017 - Auth Service running at 9999 port... +LOGGER (Server): Wed Jun 28 09:51:24 CEST 2017 - Server starting ... +LOGGER (Server): Wed Jun 28 09:51:24 CEST 2017 - Auth Service running at 9999 port... +LOGGER (Server): Wed Jun 28 09:51:48 CEST 2017 - Server starting ... +LOGGER (Server): Wed Jun 28 09:51:48 CEST 2017 - Auth Service running at 9999 port... +LOGGER (Server): Wed Jun 28 09:51:48 CEST 2017 - Game Service is running at 10000 port... +LOGGER (Server): Wed Jun 28 09:51:48 CEST 2017 - Server started +LOGGER (Server): Wed Jun 28 09:51:58 CEST 2017 - Invoked login with username=a AND password=a +LOGGER (Server): Wed Jun 28 09:51:58 CEST 2017 - Login successfull +LOGGER (Server): Wed Jun 28 09:52:00 CEST 2017 - Invoked login with username=b AND password=b +LOGGER (Server): Wed Jun 28 09:52:00 CEST 2017 - Login successfull +LOGGER (Server): Wed Jun 28 09:52:42 CEST 2017 - Invoked login with username=a AND password=a +LOGGER (Server): Wed Jun 28 09:52:42 CEST 2017 - Login successfull +LOGGER (Server): Wed Jun 28 09:54:54 CEST 2017 - Server starting ... +LOGGER (Server): Wed Jun 28 09:54:54 CEST 2017 - Auth Service running at 9999 port... +LOGGER (Server): Wed Jun 28 09:54:54 CEST 2017 - Server started +LOGGER (Server): Wed Jun 28 09:54:54 CEST 2017 - Game Service is running at 10000 port... +LOGGER (Server): Wed Jun 28 09:55:10 CEST 2017 - Invoked login with username=a AND password=a +LOGGER (Server): Wed Jun 28 09:55:10 CEST 2017 - Login successfull +LOGGER (Server): Wed Jun 28 09:55:13 CEST 2017 - Invoked login with username=b AND password=b +LOGGER (Server): Wed Jun 28 09:55:13 CEST 2017 - Login successfull +LOGGER (Server): Wed Jun 28 09:58:19 CEST 2017 - Server starting ... +LOGGER (Server): Wed Jun 28 09:58:19 CEST 2017 - Auth Service running at 9999 port... +LOGGER (Server): Wed Jun 28 09:58:19 CEST 2017 - Game Service is running at 10000 port... +LOGGER (Server): Wed Jun 28 09:58:19 CEST 2017 - Server started +LOGGER (Server): Wed Jun 28 09:58:24 CEST 2017 - Invoked login with username=a AND password=a +LOGGER (Server): Wed Jun 28 09:58:24 CEST 2017 - Login successfull +LOGGER (Server): Wed Jun 28 09:58:34 CEST 2017 - Invoked login with username=b AND password=b +LOGGER (Server): Wed Jun 28 09:58:34 CEST 2017 - Login successfull +LOGGER (Server): Wed Jun 28 09:59:36 CEST 2017 - Server starting ... +LOGGER (Server): Wed Jun 28 09:59:36 CEST 2017 - Auth Service running at 9999 port... +LOGGER (Server): Wed Jun 28 09:59:36 CEST 2017 - Game Service is running at 10000 port... +LOGGER (Server): Wed Jun 28 09:59:36 CEST 2017 - Server started +LOGGER (Server): Wed Jun 28 09:59:46 CEST 2017 - Server starting ... +LOGGER (Server): Wed Jun 28 09:59:46 CEST 2017 - Auth Service running at 9999 port... +LOGGER (Server): Wed Jun 28 09:59:46 CEST 2017 - Server started +LOGGER (Server): Wed Jun 28 09:59:46 CEST 2017 - Game Service is running at 10000 port... +LOGGER (Server): Wed Jun 28 09:59:55 CEST 2017 - Invoked login with username=a AND password=a +LOGGER (Server): Wed Jun 28 09:59:56 CEST 2017 - Login successfull +LOGGER (Server): Wed Jun 28 09:59:57 CEST 2017 - Invoked login with username=b AND password=b +LOGGER (Server): Wed Jun 28 09:59:57 CEST 2017 - Login successfull +LOGGER (Server): Wed Jun 28 10:05:05 CEST 2017 - Server starting ... +LOGGER (Server): Wed Jun 28 10:05:06 CEST 2017 - Auth Service running at 9999 port... +LOGGER (Server): Wed Jun 28 10:05:06 CEST 2017 - Game Service is running at 10000 port... +LOGGER (Server): Wed Jun 28 10:05:06 CEST 2017 - Server started +LOGGER (Server): Wed Jun 28 10:05:15 CEST 2017 - Invoked login with username=a AND password=a +LOGGER (Server): Wed Jun 28 10:05:15 CEST 2017 - Login successfull +LOGGER (Server): Wed Jun 28 10:05:17 CEST 2017 - Invoked login with username=b AND password=b +LOGGER (Server): Wed Jun 28 10:05:17 CEST 2017 - Login successfull +LOGGER (Server): Wed Jun 28 10:17:22 CEST 2017 - Server starting ... +LOGGER (Server): Wed Jun 28 10:17:22 CEST 2017 - Auth Service running at 9999 port... +LOGGER (Server): Wed Jun 28 10:17:22 CEST 2017 - Server started +LOGGER (Server): Wed Jun 28 10:17:22 CEST 2017 - Game Service is running at 10000 port... +LOGGER (Server): Wed Jun 28 10:17:31 CEST 2017 - Invoked login with username=a AND password=a +LOGGER (Server): Wed Jun 28 10:17:31 CEST 2017 - Login successfull +LOGGER (Server): Wed Jun 28 10:17:33 CEST 2017 - Invoked login with username=b AND password=b +LOGGER (Server): Wed Jun 28 10:17:33 CEST 2017 - Login successfull +LOGGER (Server): Wed Jun 28 10:19:25 CEST 2017 - Server starting ... +LOGGER (Server): Wed Jun 28 10:19:26 CEST 2017 - Auth Service running at 9999 port... +LOGGER (Server): Wed Jun 28 10:19:26 CEST 2017 - Game Service is running at 10000 port... +LOGGER (Server): Wed Jun 28 10:19:26 CEST 2017 - Server started +LOGGER (Server): Wed Jun 28 10:19:33 CEST 2017 - Invoked login with username=a AND password=a +LOGGER (Server): Wed Jun 28 10:19:33 CEST 2017 - Login successfull +LOGGER (Server): Wed Jun 28 10:19:34 CEST 2017 - Invoked login with username=b AND password=b +LOGGER (Server): Wed Jun 28 10:19:34 CEST 2017 - Login successfull +LOGGER (Server): Wed Jun 28 10:21:30 CEST 2017 - Server starting ... +LOGGER (Server): Wed Jun 28 10:21:30 CEST 2017 - Auth Service running at 9999 port... +LOGGER (Server): Wed Jun 28 10:21:30 CEST 2017 - Server started +LOGGER (Server): Wed Jun 28 10:21:30 CEST 2017 - Game Service is running at 10000 port... +LOGGER (Server): Wed Jun 28 10:21:37 CEST 2017 - Invoked login with username=a AND password=a +LOGGER (Server): Wed Jun 28 10:21:37 CEST 2017 - Login successfull +LOGGER (Server): Wed Jun 28 10:21:39 CEST 2017 - Invoked login with username=b AND password=b +LOGGER (Server): Wed Jun 28 10:21:39 CEST 2017 - Login successfull +LOGGER (Server): Wed Jun 28 10:23:33 CEST 2017 - Server starting ... +LOGGER (Server): Wed Jun 28 10:23:33 CEST 2017 - Auth Service running at 9999 port... +LOGGER (Server): Wed Jun 28 10:23:33 CEST 2017 - Game Service is running at 10000 port... +LOGGER (Server): Wed Jun 28 10:23:33 CEST 2017 - Server started +LOGGER (Server): Wed Jun 28 10:23:42 CEST 2017 - Invoked login with username=a AND password=a +LOGGER (Server): Wed Jun 28 10:23:42 CEST 2017 - Login successfull +LOGGER (Server): Wed Jun 28 10:23:44 CEST 2017 - Invoked login with username=b AND password=b +LOGGER (Server): Wed Jun 28 10:23:44 CEST 2017 - Login successfull +LOGGER (Server): Wed Jun 28 10:29:56 CEST 2017 - Server starting ... +LOGGER (Server): Wed Jun 28 10:29:56 CEST 2017 - Auth Service running at 9999 port... +LOGGER (Server): Wed Jun 28 10:29:56 CEST 2017 - Game Service is running at 10000 port... +LOGGER (Server): Wed Jun 28 10:29:56 CEST 2017 - Server started +LOGGER (Server): Wed Jun 28 10:30:05 CEST 2017 - Invoked login with username=a AND password=a +LOGGER (Server): Wed Jun 28 10:30:05 CEST 2017 - Login successfull +LOGGER (Server): Wed Jun 28 10:30:07 CEST 2017 - Invoked login with username=b AND password=b +LOGGER (Server): Wed Jun 28 10:30:07 CEST 2017 - Login successfull +LOGGER (Server): Wed Jun 28 10:36:02 CEST 2017 - Server starting ... +LOGGER (Server): Wed Jun 28 10:36:02 CEST 2017 - Auth Service running at 9999 port... +LOGGER (Server): Wed Jun 28 10:36:02 CEST 2017 - Server started +LOGGER (Server): Wed Jun 28 10:36:02 CEST 2017 - Game Service is running at 10000 port... +LOGGER (Server): Wed Jun 28 10:36:09 CEST 2017 - Invoked login with username=a AND password=a +LOGGER (Server): Wed Jun 28 10:36:09 CEST 2017 - Login successfull +LOGGER (Server): Wed Jun 28 10:36:11 CEST 2017 - Invoked login with username=b AND password=b +LOGGER (Server): Wed Jun 28 10:36:11 CEST 2017 - Login successfull +LOGGER (Server): Wed Jun 28 10:38:16 CEST 2017 - Server starting ... +LOGGER (Server): Wed Jun 28 10:38:16 CEST 2017 - Auth Service running at 9999 port... +LOGGER (Server): Wed Jun 28 10:38:16 CEST 2017 - Game Service is running at 10000 port... +LOGGER (Server): Wed Jun 28 10:38:16 CEST 2017 - Server started +LOGGER (Server): Wed Jun 28 10:38:24 CEST 2017 - Invoked login with username=a AND password=a +LOGGER (Server): Wed Jun 28 10:38:24 CEST 2017 - Login successfull +LOGGER (Server): Wed Jun 28 10:38:26 CEST 2017 - Invoked login with username=b AND password=b +LOGGER (Server): Wed Jun 28 10:38:26 CEST 2017 - Login successfull +LOGGER (Server): Wed Jun 28 10:55:58 CEST 2017 - Server starting ... +LOGGER (Server): Wed Jun 28 10:55:58 CEST 2017 - Auth Service running at 9999 port... +LOGGER (Server): Wed Jun 28 10:55:58 CEST 2017 - Game Service is running at 10000 port... +LOGGER (Server): Wed Jun 28 10:55:58 CEST 2017 - Server started +LOGGER (Server): Wed Jun 28 10:56:04 CEST 2017 - Invoked login with username=a AND password=a +LOGGER (Server): Wed Jun 28 10:56:04 CEST 2017 - Login successfull +LOGGER (Server): Wed Jun 28 10:56:06 CEST 2017 - Invoked login with username=b AND password=b +LOGGER (Server): Wed Jun 28 10:56:06 CEST 2017 - Login successfull +LOGGER (Server): Wed Jun 28 11:21:41 CEST 2017 - Server starting ... +LOGGER (Server): Wed Jun 28 11:21:41 CEST 2017 - Auth Service running at 9999 port... +LOGGER (Server): Wed Jun 28 11:21:41 CEST 2017 - Server started +LOGGER (Server): Wed Jun 28 11:21:41 CEST 2017 - Game Service is running at 10000 port... +LOGGER (Server): Wed Jun 28 11:21:50 CEST 2017 - Invoked login with username=a AND password=a +LOGGER (Server): Wed Jun 28 11:21:50 CEST 2017 - Login successfull +LOGGER (Server): Wed Jun 28 11:21:54 CEST 2017 - Invoked login with username=b AND password=b +LOGGER (Server): Wed Jun 28 11:21:54 CEST 2017 - Login successfull +LOGGER (Server): Wed Jun 28 11:24:36 CEST 2017 - Server starting ... +LOGGER (Server): Wed Jun 28 11:24:36 CEST 2017 - Auth Service running at 9999 port... +LOGGER (Server): Wed Jun 28 11:24:36 CEST 2017 - Game Service is running at 10000 port... +LOGGER (Server): Wed Jun 28 11:24:36 CEST 2017 - Server started +LOGGER (Server): Wed Jun 28 11:24:43 CEST 2017 - Invoked login with username=a AND password=a +LOGGER (Server): Wed Jun 28 11:24:43 CEST 2017 - Login successfull +LOGGER (Server): Wed Jun 28 11:24:46 CEST 2017 - Invoked login with username=b AND password=b +LOGGER (Server): Wed Jun 28 11:24:46 CEST 2017 - Login successfull +LOGGER (Server): Wed Jun 28 11:26:14 CEST 2017 - Server starting ... +LOGGER (Server): Wed Jun 28 11:26:14 CEST 2017 - Auth Service running at 9999 port... +LOGGER (Server): Wed Jun 28 11:26:14 CEST 2017 - Game Service is running at 10000 port... +LOGGER (Server): Wed Jun 28 11:26:14 CEST 2017 - Server started +LOGGER (Server): Wed Jun 28 11:26:22 CEST 2017 - Invoked login with username=a AND password=a +LOGGER (Server): Wed Jun 28 11:26:22 CEST 2017 - Login successfull +LOGGER (Server): Wed Jun 28 11:26:24 CEST 2017 - Invoked login with username=b AND password=b +LOGGER (Server): Wed Jun 28 11:26:24 CEST 2017 - Login successfull +LOGGER (Server): Wed Jun 28 11:28:01 CEST 2017 - Server starting ... +LOGGER (Server): Wed Jun 28 11:28:01 CEST 2017 - Auth Service running at 9999 port... +LOGGER (Server): Wed Jun 28 11:28:01 CEST 2017 - Game Service is running at 10000 port... +LOGGER (Server): Wed Jun 28 11:28:01 CEST 2017 - Server started +LOGGER (Server): Wed Jun 28 11:28:07 CEST 2017 - Invoked login with username=a AND password=a +LOGGER (Server): Wed Jun 28 11:28:07 CEST 2017 - Login successfull +LOGGER (Server): Wed Jun 28 11:28:49 CEST 2017 - Server starting ... +LOGGER (Server): Wed Jun 28 11:28:50 CEST 2017 - Auth Service running at 9999 port... +LOGGER (Server): Wed Jun 28 11:28:50 CEST 2017 - Game Service is running at 10000 port... +LOGGER (Server): Wed Jun 28 11:28:50 CEST 2017 - Server started +LOGGER (Server): Wed Jun 28 11:28:56 CEST 2017 - Invoked login with username=a AND password=a +LOGGER (Server): Wed Jun 28 11:28:56 CEST 2017 - Login successfull +LOGGER (Server): Wed Jun 28 11:29:37 CEST 2017 - Invoked login with username=a AND password=a +LOGGER (Server): Wed Jun 28 11:29:37 CEST 2017 - Login successfull +LOGGER (Server): Wed Jun 28 11:30:40 CEST 2017 - Invoked login with username=a AND password=a +LOGGER (Server): Wed Jun 28 11:30:40 CEST 2017 - Login successfull +LOGGER (Server): Wed Jun 28 11:44:08 CEST 2017 - Server starting ... +LOGGER (Server): Wed Jun 28 11:44:08 CEST 2017 - Auth Service running at 9999 port... +LOGGER (Server): Wed Jun 28 11:44:08 CEST 2017 - Game Service is running at 10000 port... +LOGGER (Server): Wed Jun 28 11:44:08 CEST 2017 - Server started +LOGGER (Server): Wed Jun 28 11:44:17 CEST 2017 - Invoked login with username=a AND password=a +LOGGER (Server): Wed Jun 28 11:44:17 CEST 2017 - Login successfull +LOGGER (Server): Wed Jun 28 11:44:25 CEST 2017 - Invoked login with username=b AND password=b +LOGGER (Server): Wed Jun 28 11:44:25 CEST 2017 - Login successfull +LOGGER (Server): Wed Jun 28 11:46:33 CEST 2017 - Server starting ... +LOGGER (Server): Wed Jun 28 11:46:34 CEST 2017 - Auth Service running at 9999 port... +LOGGER (Server): Wed Jun 28 11:46:34 CEST 2017 - Game Service is running at 10000 port... +LOGGER (Server): Wed Jun 28 11:46:34 CEST 2017 - Server started +LOGGER (Server): Wed Jun 28 11:46:45 CEST 2017 - Invoked login with username=a AND password=a +LOGGER (Server): Wed Jun 28 11:46:45 CEST 2017 - Login successfull +LOGGER (Server): Wed Jun 28 11:46:47 CEST 2017 - Invoked login with username=b AND password=b +LOGGER (Server): Wed Jun 28 11:46:47 CEST 2017 - Login successfull +LOGGER (Server): Wed Jun 28 11:48:32 CEST 2017 - Server starting ... +LOGGER (Server): Wed Jun 28 11:48:32 CEST 2017 - Auth Service running at 9999 port... +LOGGER (Server): Wed Jun 28 11:48:32 CEST 2017 - Game Service is running at 10000 port... +LOGGER (Server): Wed Jun 28 11:48:32 CEST 2017 - Server started +LOGGER (Server): Wed Jun 28 11:48:40 CEST 2017 - Invoked login with username=a AND password=a +LOGGER (Server): Wed Jun 28 11:48:40 CEST 2017 - Login successfull +LOGGER (Server): Wed Jun 28 11:48:42 CEST 2017 - Invoked login with username=b AND password=b +LOGGER (Server): Wed Jun 28 11:48:42 CEST 2017 - Login successfull +LOGGER (Server): Wed Jun 28 11:53:16 CEST 2017 - Server starting ... +LOGGER (Server): Wed Jun 28 11:53:16 CEST 2017 - Auth Service running at 9999 port... +LOGGER (Server): Wed Jun 28 11:53:16 CEST 2017 - Game Service is running at 10000 port... +LOGGER (Server): Wed Jun 28 11:53:16 CEST 2017 - Server started +LOGGER (Server): Wed Jun 28 11:53:22 CEST 2017 - Invoked login with username=a AND password=a +LOGGER (Server): Wed Jun 28 11:53:22 CEST 2017 - Login successfull +LOGGER (Server): Wed Jun 28 11:53:23 CEST 2017 - Invoked login with username=b AND password=b +LOGGER (Server): Wed Jun 28 11:53:23 CEST 2017 - Login successfull +LOGGER (Server): Wed Jun 28 11:58:28 CEST 2017 - Server starting ... +LOGGER (Server): Wed Jun 28 11:58:28 CEST 2017 - Auth Service running at 9999 port... +LOGGER (Server): Wed Jun 28 11:58:28 CEST 2017 - Game Service is running at 10000 port... +LOGGER (Server): Wed Jun 28 11:58:28 CEST 2017 - Server started +LOGGER (Server): Wed Jun 28 11:58:36 CEST 2017 - Invoked login with username=a AND password=a +LOGGER (Server): Wed Jun 28 11:58:36 CEST 2017 - Login successfull +LOGGER (Server): Wed Jun 28 11:58:38 CEST 2017 - Invoked login with username=b AND password= +LOGGER (Server): Wed Jun 28 11:58:38 CEST 2017 - Login unsuccessfull +LOGGER (Server): Wed Jun 28 11:58:41 CEST 2017 - Invoked login with username=b AND password=b +LOGGER (Server): Wed Jun 28 11:58:41 CEST 2017 - Login successfull +LOGGER (Server): Wed Jun 28 12:01:05 CEST 2017 - Server starting ... +LOGGER (Server): Wed Jun 28 12:01:05 CEST 2017 - Auth Service running at 9999 port... +LOGGER (Server): Wed Jun 28 12:01:05 CEST 2017 - Game Service is running at 10000 port... +LOGGER (Server): Wed Jun 28 12:01:05 CEST 2017 - Server started +LOGGER (Server): Wed Jun 28 12:01:15 CEST 2017 - Invoked login with username=a AND password=a +LOGGER (Server): Wed Jun 28 12:01:15 CEST 2017 - Login successfull +LOGGER (Server): Wed Jun 28 12:01:17 CEST 2017 - Invoked login with username=b AND password=b +LOGGER (Server): Wed Jun 28 12:01:18 CEST 2017 - Login successfull +LOGGER (Server): Thu Jun 29 13:17:45 CEST 2017 - Server starting ... +LOGGER (Server): Thu Jun 29 13:17:45 CEST 2017 - Auth Service running at 9999 port... +LOGGER (Server): Thu Jun 29 13:17:45 CEST 2017 - Server started +LOGGER (Server): Thu Jun 29 13:17:45 CEST 2017 - Game Service is running at 10000 port... +LOGGER (Server): Thu Jun 29 13:18:00 CEST 2017 - Invoked login with username=a AND password=a +LOGGER (Server): Thu Jun 29 13:18:00 CEST 2017 - Login successfull +LOGGER (Server): Thu Jun 29 13:18:02 CEST 2017 - Invoked login with username=b AND password=b +LOGGER (Server): Thu Jun 29 13:18:02 CEST 2017 - Login successfull +LOGGER (Server): Thu Jun 29 13:19:32 CEST 2017 - Invoked logout with username=b AND token=44co741tqi1rd830hau283vi6v +LOGGER (Server): Thu Jun 29 13:19:32 CEST 2017 - Logout successfull +LOGGER (Server): Thu Jun 29 13:19:32 CEST 2017 - Logout successfull (but something gone wrong) +LOGGER (Server): Thu Jun 29 13:20:13 CEST 2017 - Server starting ... +LOGGER (Server): Thu Jun 29 13:20:14 CEST 2017 - Auth Service running at 9999 port... +LOGGER (Server): Thu Jun 29 13:20:14 CEST 2017 - Game Service is running at 10000 port... +LOGGER (Server): Thu Jun 29 13:20:14 CEST 2017 - Server started +LOGGER (Server): Thu Jun 29 13:20:20 CEST 2017 - Invoked login with username=a AND password=a +LOGGER (Server): Thu Jun 29 13:20:20 CEST 2017 - Login successfull +LOGGER (Server): Thu Jun 29 13:20:22 CEST 2017 - Invoked login with username=b AND password=b +LOGGER (Server): Thu Jun 29 13:20:22 CEST 2017 - Login successfull +LOGGER (Server): Thu Jun 29 13:22:38 CEST 2017 - Server starting ... +LOGGER (Server): Thu Jun 29 13:22:38 CEST 2017 - Auth Service running at 9999 port... +LOGGER (Server): Thu Jun 29 13:22:38 CEST 2017 - Game Service is running at 10000 port... +LOGGER (Server): Thu Jun 29 13:22:38 CEST 2017 - Server started +LOGGER (Server): Thu Jun 29 13:22:51 CEST 2017 - Invoked login with username=a AND password=a +LOGGER (Server): Thu Jun 29 13:22:51 CEST 2017 - Login successfull +LOGGER (Server): Thu Jun 29 13:22:52 CEST 2017 - Invoked login with username=b AND password=b +LOGGER (Server): Thu Jun 29 13:22:52 CEST 2017 - Login successfull +LOGGER (Server): Thu Jun 29 13:23:38 CEST 2017 - Server starting ... +LOGGER (Server): Thu Jun 29 13:23:38 CEST 2017 - Auth Service running at 9999 port... +LOGGER (Server): Thu Jun 29 13:23:38 CEST 2017 - Game Service is running at 10000 port... +LOGGER (Server): Thu Jun 29 13:23:38 CEST 2017 - Server started +LOGGER (Server): Thu Jun 29 13:23:45 CEST 2017 - Invoked login with username=a AND password=a +LOGGER (Server): Thu Jun 29 13:23:45 CEST 2017 - Login successfull +LOGGER (Server): Thu Jun 29 13:23:49 CEST 2017 - Invoked login with username=b AND password=b +LOGGER (Server): Thu Jun 29 13:23:49 CEST 2017 - Login successfull +LOGGER (Server): Thu Jun 29 13:24:23 CEST 2017 - Server starting ... +LOGGER (Server): Thu Jun 29 13:24:23 CEST 2017 - Auth Service running at 9999 port... +LOGGER (Server): Thu Jun 29 13:24:23 CEST 2017 - Game Service is running at 10000 port... +LOGGER (Server): Thu Jun 29 13:24:23 CEST 2017 - Server started +LOGGER (Server): Thu Jun 29 13:24:34 CEST 2017 - Invoked login with username=a AND password=a +LOGGER (Server): Thu Jun 29 13:24:34 CEST 2017 - Login successfull +LOGGER (Server): Thu Jun 29 13:24:36 CEST 2017 - Invoked login with username=b AND password=b +LOGGER (Server): Thu Jun 29 13:24:36 CEST 2017 - Login successfull +LOGGER (Server): Thu Jun 29 13:25:43 CEST 2017 - Server starting ... +LOGGER (Server): Thu Jun 29 13:25:43 CEST 2017 - Auth Service running at 9999 port... +LOGGER (Server): Thu Jun 29 13:25:43 CEST 2017 - Game Service is running at 10000 port... +LOGGER (Server): Thu Jun 29 13:25:43 CEST 2017 - Server started +LOGGER (Server): Thu Jun 29 13:25:49 CEST 2017 - Invoked login with username=a AND password=a +LOGGER (Server): Thu Jun 29 13:25:49 CEST 2017 - Login successfull +LOGGER (Server): Thu Jun 29 13:25:53 CEST 2017 - Invoked login with username=b AND password=b +LOGGER (Server): Thu Jun 29 13:25:53 CEST 2017 - Login successfull +LOGGER (Server): Thu Jun 29 13:27:41 CEST 2017 - Server starting ... +LOGGER (Server): Thu Jun 29 13:27:41 CEST 2017 - Auth Service running at 9999 port... +LOGGER (Server): Thu Jun 29 13:27:41 CEST 2017 - Game Service is running at 10000 port... +LOGGER (Server): Thu Jun 29 13:27:41 CEST 2017 - Server started +LOGGER (Server): Thu Jun 29 13:27:49 CEST 2017 - Invoked login with username=a AND password=a +LOGGER (Server): Thu Jun 29 13:27:49 CEST 2017 - Login successfull +LOGGER (Server): Thu Jun 29 13:27:51 CEST 2017 - Invoked login with username=b AND password=b +LOGGER (Server): Thu Jun 29 13:27:51 CEST 2017 - Login successfull +LOGGER (Server): Thu Jun 29 13:32:21 CEST 2017 - Server starting ... +LOGGER (Server): Thu Jun 29 13:32:21 CEST 2017 - Auth Service running at 9999 port... +LOGGER (Server): Thu Jun 29 13:32:21 CEST 2017 - Game Service is running at 10000 port... +LOGGER (Server): Thu Jun 29 13:32:21 CEST 2017 - Server started +LOGGER (Server): Thu Jun 29 13:32:26 CEST 2017 - Server starting ... +LOGGER (Server): Thu Jun 29 13:32:27 CEST 2017 - Auth Service running at 9999 port... +LOGGER (Server): Thu Jun 29 13:32:38 CEST 2017 - Invoked login with username=a AND password=a +LOGGER (Server): Thu Jun 29 13:32:38 CEST 2017 - Login successfull +LOGGER (Server): Thu Jun 29 13:32:40 CEST 2017 - Invoked login with username=b AND password=b +LOGGER (Server): Thu Jun 29 13:32:40 CEST 2017 - Login successfull +LOGGER (Server): Thu Jun 29 13:54:57 CEST 2017 - Server starting ... +LOGGER (Server): Thu Jun 29 13:54:57 CEST 2017 - Auth Service running at 9999 port... +LOGGER (Server): Thu Jun 29 13:54:57 CEST 2017 - Game Service is running at 10000 port... +LOGGER (Server): Thu Jun 29 13:54:57 CEST 2017 - Server started +LOGGER (Server): Thu Jun 29 13:55:08 CEST 2017 - Invoked login with username=a AND password=a +LOGGER (Server): Thu Jun 29 13:55:08 CEST 2017 - Login successfull +LOGGER (Server): Thu Jun 29 13:55:10 CEST 2017 - Invoked login with username=b AND password=b +LOGGER (Server): Thu Jun 29 13:55:10 CEST 2017 - Login successfull +LOGGER (Server): Thu Jun 29 13:56:03 CEST 2017 - Server starting ... +LOGGER (Server): Thu Jun 29 13:56:03 CEST 2017 - Auth Service running at 9999 port... +LOGGER (Server): Thu Jun 29 13:56:03 CEST 2017 - Game Service is running at 10000 port... +LOGGER (Server): Thu Jun 29 13:56:03 CEST 2017 - Server started +LOGGER (Server): Thu Jun 29 13:56:24 CEST 2017 - Invoked login with username=a AND password=a +LOGGER (Server): Thu Jun 29 13:56:24 CEST 2017 - Login successfull +LOGGER (Server): Thu Jun 29 13:56:26 CEST 2017 - Invoked login with username=b AND password=b +LOGGER (Server): Thu Jun 29 13:56:26 CEST 2017 - Login successfull +LOGGER (Server): Thu Jun 29 13:58:50 CEST 2017 - Server starting ... +LOGGER (Server): Thu Jun 29 13:58:51 CEST 2017 - Auth Service running at 9999 port... +LOGGER (Server): Thu Jun 29 13:58:51 CEST 2017 - Game Service is running at 10000 port... +LOGGER (Server): Thu Jun 29 13:58:51 CEST 2017 - Server started +LOGGER (Server): Thu Jun 29 13:59:00 CEST 2017 - Invoked login with username=a AND password=a +LOGGER (Server): Thu Jun 29 13:59:00 CEST 2017 - Login successfull +LOGGER (Server): Thu Jun 29 13:59:02 CEST 2017 - Invoked login with username=b AND password=b +LOGGER (Server): Thu Jun 29 13:59:02 CEST 2017 - Login successfull +LOGGER (Server): Thu Jun 29 14:00:51 CEST 2017 - Server starting ... +LOGGER (Server): Thu Jun 29 14:00:51 CEST 2017 - Auth Service running at 9999 port... +LOGGER (Server): Thu Jun 29 14:00:51 CEST 2017 - Game Service is running at 10000 port... +LOGGER (Server): Thu Jun 29 14:00:51 CEST 2017 - Server started +LOGGER (Server): Thu Jun 29 14:01:03 CEST 2017 - Invoked login with username=a AND password=a +LOGGER (Server): Thu Jun 29 14:01:03 CEST 2017 - Login successfull +LOGGER (Server): Thu Jun 29 14:01:04 CEST 2017 - Invoked login with username=b AND password=b +LOGGER (Server): Thu Jun 29 14:01:04 CEST 2017 - Login successfull +LOGGER (Server): Thu Jun 29 14:02:20 CEST 2017 - Server starting ... +LOGGER (Server): Thu Jun 29 14:02:20 CEST 2017 - Auth Service running at 9999 port... +LOGGER (Server): Thu Jun 29 14:02:20 CEST 2017 - Game Service is running at 10000 port... +LOGGER (Server): Thu Jun 29 14:02:20 CEST 2017 - Server started +LOGGER (Server): Thu Jun 29 14:02:27 CEST 2017 - Invoked login with username=a AND password=a +LOGGER (Server): Thu Jun 29 14:02:27 CEST 2017 - Login successfull +LOGGER (Server): Thu Jun 29 14:02:29 CEST 2017 - Invoked login with username=b AND password=b +LOGGER (Server): Thu Jun 29 14:02:29 CEST 2017 - Login successfull +LOGGER (Server): Thu Jun 29 14:03:23 CEST 2017 - Server starting ... +LOGGER (Server): Thu Jun 29 14:03:23 CEST 2017 - Auth Service running at 9999 port... +LOGGER (Server): Thu Jun 29 14:03:23 CEST 2017 - Game Service is running at 10000 port... +LOGGER (Server): Thu Jun 29 14:03:23 CEST 2017 - Server started +LOGGER (Server): Thu Jun 29 14:03:34 CEST 2017 - Invoked login with username=a AND password=a +LOGGER (Server): Thu Jun 29 14:03:34 CEST 2017 - Login successfull +LOGGER (Server): Thu Jun 29 14:03:35 CEST 2017 - Invoked login with username=b AND password=b +LOGGER (Server): Thu Jun 29 14:03:35 CEST 2017 - Login successfull +LOGGER (Server): Thu Jun 29 14:05:36 CEST 2017 - Server starting ... +LOGGER (Server): Thu Jun 29 14:05:36 CEST 2017 - Auth Service running at 9999 port... +LOGGER (Server): Thu Jun 29 14:05:36 CEST 2017 - Server started +LOGGER (Server): Thu Jun 29 14:05:36 CEST 2017 - Game Service is running at 10000 port... +LOGGER (Server): Thu Jun 29 14:05:44 CEST 2017 - Invoked login with username=a AND password=a +LOGGER (Server): Thu Jun 29 14:05:44 CEST 2017 - Login successfull +LOGGER (Server): Thu Jun 29 14:05:46 CEST 2017 - Invoked login with username=b AND password=b +LOGGER (Server): Thu Jun 29 14:05:46 CEST 2017 - Login successfull +LOGGER (Server): Thu Jun 29 14:17:26 CEST 2017 - Server starting ... +LOGGER (Server): Thu Jun 29 14:17:26 CEST 2017 - Auth Service running at 9999 port... +LOGGER (Server): Thu Jun 29 14:17:26 CEST 2017 - Game Service is running at 10000 port... +LOGGER (Server): Thu Jun 29 14:17:26 CEST 2017 - Server started +LOGGER (Server): Thu Jun 29 14:17:34 CEST 2017 - Invoked login with username=a AND password=a +LOGGER (Server): Thu Jun 29 14:17:34 CEST 2017 - Login successfull +LOGGER (Server): Thu Jun 29 14:17:35 CEST 2017 - Invoked login with username=b AND password=b +LOGGER (Server): Thu Jun 29 14:17:35 CEST 2017 - Login successfull +LOGGER (Server): Thu Jun 29 14:45:34 CEST 2017 - Server starting ... +LOGGER (Server): Thu Jun 29 14:45:34 CEST 2017 - Auth Service running at 9999 port... +LOGGER (Server): Thu Jun 29 14:45:34 CEST 2017 - Game Service is running at 10000 port... +LOGGER (Server): Thu Jun 29 14:45:34 CEST 2017 - Server started +LOGGER (Server): Thu Jun 29 14:45:50 CEST 2017 - Server starting ... +LOGGER (Server): Thu Jun 29 14:45:50 CEST 2017 - Auth Service running at 9999 port... +LOGGER (Server): Thu Jun 29 14:45:50 CEST 2017 - Game Service is running at 10000 port... +LOGGER (Server): Thu Jun 29 14:45:50 CEST 2017 - Server started +LOGGER (Server): Thu Jun 29 14:45:59 CEST 2017 - Invoked login with username=a AND password=a +LOGGER (Server): Thu Jun 29 14:45:59 CEST 2017 - Login successfull +LOGGER (Server): Thu Jun 29 14:46:32 CEST 2017 - Invoked login with username=b AND password=b +LOGGER (Server): Thu Jun 29 14:46:32 CEST 2017 - Login successfull +LOGGER (Server): Thu Jun 29 14:59:14 CEST 2017 - Server starting ... +LOGGER (Server): Thu Jun 29 14:59:14 CEST 2017 - Auth Service running at 9999 port... +LOGGER (Server): Thu Jun 29 14:59:14 CEST 2017 - Game Service is running at 10000 port... +LOGGER (Server): Thu Jun 29 14:59:14 CEST 2017 - Server started +LOGGER (Server): Thu Jun 29 14:59:28 CEST 2017 - Invoked login with username=a AND password=a +LOGGER (Server): Thu Jun 29 14:59:28 CEST 2017 - Login successfull +LOGGER (Server): Thu Jun 29 14:59:30 CEST 2017 - Invoked login with username=b AND password=b +LOGGER (Server): Thu Jun 29 14:59:30 CEST 2017 - Login successfull +LOGGER (Server): Thu Jun 29 15:00:42 CEST 2017 - Server starting ... +LOGGER (Server): Thu Jun 29 15:00:42 CEST 2017 - Auth Service running at 9999 port... +LOGGER (Server): Thu Jun 29 15:00:42 CEST 2017 - Game Service is running at 10000 port... +LOGGER (Server): Thu Jun 29 15:00:42 CEST 2017 - Server started +LOGGER (Server): Thu Jun 29 15:00:51 CEST 2017 - Invoked login with username=a AND password=a +LOGGER (Server): Thu Jun 29 15:00:51 CEST 2017 - Login successfull +LOGGER (Server): Thu Jun 29 15:00:53 CEST 2017 - Invoked login with username=b AND password=b +LOGGER (Server): Thu Jun 29 15:00:53 CEST 2017 - Login successfull +LOGGER (Server): Thu Jun 29 15:02:30 CEST 2017 - Server starting ... +LOGGER (Server): Thu Jun 29 15:02:30 CEST 2017 - Auth Service running at 9999 port... +LOGGER (Server): Thu Jun 29 15:02:30 CEST 2017 - Server started +LOGGER (Server): Thu Jun 29 15:02:30 CEST 2017 - Game Service is running at 10000 port... +LOGGER (Server): Thu Jun 29 15:02:44 CEST 2017 - Invoked login with username=a AND password=a +LOGGER (Server): Thu Jun 29 15:02:44 CEST 2017 - Login successfull +LOGGER (Server): Thu Jun 29 15:02:45 CEST 2017 - Invoked login with username=b AND password=b +LOGGER (Server): Thu Jun 29 15:02:45 CEST 2017 - Login successfull +LOGGER (Server): Thu Jun 29 15:08:27 CEST 2017 - Server starting ... +LOGGER (Server): Thu Jun 29 15:08:27 CEST 2017 - Auth Service running at 9999 port... +LOGGER (Server): Thu Jun 29 15:08:27 CEST 2017 - Game Service is running at 10000 port... +LOGGER (Server): Thu Jun 29 15:08:27 CEST 2017 - Server started +LOGGER (Server): Thu Jun 29 15:08:36 CEST 2017 - Invoked login with username=a AND password=a +LOGGER (Server): Thu Jun 29 15:08:36 CEST 2017 - Login successfull +LOGGER (Server): Thu Jun 29 15:08:38 CEST 2017 - Invoked login with username=b AND password=b +LOGGER (Server): Thu Jun 29 15:08:38 CEST 2017 - Login successfull