diff --git a/games/JS-chat/chat.rb b/games/JS-chat/chat.rb index f336f50..2f2f6f5 100644 --- a/games/JS-chat/chat.rb +++ b/games/JS-chat/chat.rb @@ -13,9 +13,13 @@ class Chat @ggs_network.connect("localhost") end - def ggsNetworkReady(ggs_network, ready) - source_code = File.open("chat_server.js", "rb").read - @ggs_network.define(source_code) + def ggsNetworkReady(ggs_network, am_i_host) + unless am_i_host + source_code = File.open("chat_server.js", "rb").read + @ggs_network.define(source_code) + else + ggsNetworkDefined(ggs_network, true) + end end def ggsNetworkDefined(ggs_network, defined) diff --git a/games/JS-chat/chat_server.js b/games/JS-chat/chat_server.js index d5279d6..5d95c36 100644 --- a/games/JS-chat/chat_server.js +++ b/games/JS-chat/chat_server.js @@ -19,5 +19,5 @@ function changeNick(player_id, nick) { function message(player_id, message) { var nick = GGS.localStorage.getItem("nick_" + player_id); - GGS.sendCommandToAll(player_id, 'message', nick + "> " + message); + GGS.sendCommandToAll('message', nick + "> " + message); } \ No newline at end of file diff --git a/games/JS-chat/ggs-network.rb b/games/JS-chat/ggs-network.rb index 8806ac5..5d77a02 100644 --- a/games/JS-chat/ggs-network.rb +++ b/games/JS-chat/ggs-network.rb @@ -60,8 +60,8 @@ class GGSNetwork command = headers["Client-Command"] case command when "hello" - @game_token = data - @delegate.ggsNetworkReady(self, true) + parse_hello(data) + @delegate.ggsNetworkReady(self, @am_i_host) when "defined" @delegate.ggsNetworkDefined(self, true) else @@ -80,4 +80,9 @@ class GGSNetwork message end + def parse_hello(message) + @game_token, shall_define, @table_token = message.split(",") + @am_i_host = shall_define == "true" + end + end