buy in:
@@ -68,6 +70,7 @@
actionCommand: string;
type: string;
userId?: number;
+ handCard?: string[];
}
export enum ECommand {
@@ -98,11 +101,29 @@
private prevSize = 0;
private isAction = false;
private isRaise = false;
+ private winner = [];
+ private showBuyIn = true;
+
+ get isPlay() {
+ return this.pot !== 0 && this.currPlayer?.counter !== 0;
+ }
+
+ get hasBuyIn() {
+ return this.currPlayer?.counter !== 0;
+ }
get roomId() {
return this.$route.params.roomNumber;
}
+ get isOwner() {
+ return !!this.$route.params.isOwner;
+ }
+
+ get gameOver() {
+ return this.winner.length !== 0;
+ }
+
get currPlayer() {
return this.users.find((u: IUser) => this.userInfo.userId === u.userId);
}
@@ -112,19 +133,32 @@
}
get commonCardString() {
- const cardNumber = [2, 3, 4, 5, 6, 7, 8, 9, 10, 'J', 'Q', 'K', 'A'];
- const color = ['♦', '♣', '♥', '♠'];
- return this.commonCard.map((c: string) => {
- const cNumber = c.charCodeAt(0) - 97;
- const cColor = Number(c[1]) - 1;
- return `${cardNumber[cNumber]}${color[cColor]}`;
- });
+ return this.mapCard(this.commonCard);
}
get handCardString() {
+ return this.mapCard(this.handCard);
+ }
+
+ private init() {
+ this.users = [];
+ this.userInfo = {};
+ this.joinMsg = '';
+ this.handCard = [];
+ this.commonCard = [];
+ this.buyInSize = 0;
+ this.pot = 0;
+ this.prevSize = 0;
+ this.isAction = false;
+ this.isRaise = false;
+ this.winner = [];
+ this.showBuyIn = true;
+ }
+
+ private mapCard(cards: string []) {
const cardNumber = [2, 3, 4, 5, 6, 7, 8, 9, 10, 'J', 'Q', 'K', 'A'];
const color = ['♦', '♣', '♥', '♠'];
- return this.handCard.map((c: string) => {
+ return cards?.map((c: string) => {
const cNumber = c.charCodeAt(0) - 97;
const cColor = Number(c[1]) - 1;
return `${cardNumber[cNumber]}${color[cColor]}`;
@@ -134,7 +168,9 @@
private showActionBtn(type: string) {
// check
if ('check' === type) {
- return this.prevSize === -1;
+ return this.prevSize <= 0
+ || (this.currPlayer?.type === 'big_blind' && this.prevSize === 2 &&
+ this.commonCard.length === 0);
}
// raise
if ('raise' === type) {
@@ -142,7 +178,10 @@
}
// call
if ('call' === type) {
- return this.canActionSize > this.prevSize;
+ return this.canActionSize > this.prevSize
+ && this.prevSize > 0
+ && !(this.currPlayer?.type === 'big_blind' && this.prevSize === 2 &&
+ this.commonCard.length === 0);
}
return true;
}
@@ -161,7 +200,7 @@
const token = cookie.get('token');
const log = console.log;
// const origin = 'http://172.22.72.70:7001';
- const origin = 'http://192.168.0.101:7001';
+ const origin = 'http://192.168.0.103:7001';
this.socket = io(`${origin}/socket`, {
// 实际使用中可以在这里传递参数
query: {
@@ -185,6 +224,15 @@
if (data.action === 'userInfo') {
this.userInfo = data.payload;
}
+ if (data.action === 'gameInfo') {
+ const payload = data.payload;
+ this.users = payload.data.players;
+ this.pot = payload.data.pot;
+ this.prevSize = payload.data.prevSize;
+ console.log('msg.data.currPlayer.userId', msg.data);
+ this.isAction = !!(this.userInfo && this.userInfo.userId ===
+ payload.data.currPlayer.userId);
+ }
});
});
@@ -208,6 +256,17 @@
this.isAction = !!(this.userInfo && this.userInfo.userId === msg.data.currPlayer.userId);
console.log('gameInfo', msg.data);
}
+
+ if (msg.action === 'gameOver') {
+ console.log('gameOver', msg.data);
+ this.winner = msg.data.winner;
+ this.winner.forEach((w: IUser[]) => {
+ this.users = this.users.map((p) => {
+ const winner = w.find(wPlayer => wPlayer.userId === p.userId);
+ return Object.assign({}, p, { handCard: winner?.handCard });
+ });
+ });
+ }
});
// 系统事件
@@ -229,6 +288,7 @@
this.emit('buyIn', {
buyInSize: this.buyInSize,
});
+ this.showBuyIn = false;
} catch (e) {
console.log(e);
}
diff --git a/server/logs/ELKLog/info.log b/server/logs/ELKLog/info.log
index d37923f..6ef14ce 100644
--- a/server/logs/ELKLog/info.log
+++ b/server/logs/ELKLog/info.log
@@ -48,3 +48,8 @@
{"pid":52898,"nodeVersion":"v12.16.1","launchTime":"2020-04-23 21:25:15","osUser":"root","osUid":0,"fetchConsumeTime":0,"level":"INFO","message":"AccountService getToken token--eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyIjp7Im5pY2tOYW1lIjoi6JShIiwiYWNjb3VudCI6ImNhaTExMSIsInVzZXJJZCI6Mn0sImlhdCI6MTU4NzY0ODMxNSwiZXhwIjoxNTg3NjY5OTE1fQ.Ts3MaDk8a6wFvN-TNG25Jvw5WOIjpcJHM3K-PMp-6vc","requestTime":"2020-04-23 21:25:15","stack":"","status":"","timestamp":"","total":0,"requestBody":{},"method":"","url":""}
{"pid":52898,"nodeVersion":"v12.16.1","launchTime":"2020-04-23 21:25:15","osUser":"root","osUid":0,"fetchConsumeTime":203,"level":"INFO","message":"POST /node/user/login info","requestTime":"2020-04-23 21:25:15","status":200,"total":null,"requestBody":{"userAccount":"cai111","password":"123"},"url":"/node/user/login"}
{"pid":52898,"nodeVersion":"v12.16.1","launchTime":"2020-04-23 22:41:00","osUser":"root","osUid":0,"fetchConsumeTime":0,"level":"ERROR","message":"room service tick","requestTime":"2020-04-23 22:41:00","stack":null,"status":"","timestamp":"","total":0,"requestBody":{},"method":"","url":""}
+{"pid":56754,"nodeVersion":"v12.16.1","launchTime":"2020-04-27 21:22:04","osUser":"root","osUid":0,"fetchConsumeTime":0,"level":"INFO","message":"AccountService getToken token--eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyIjp7Im5pY2tOYW1lIjoiYyIsImFjY291bnQiOiJjYWkiLCJ1c2VySWQiOjF9LCJpYXQiOjE1ODc5OTM3MjQsImV4cCI6MTU4ODAxNTMyNH0.qg2Hyc4aGmeVpx83_5w8sNnFRxKGuGx_mNMFHEqrS5U","requestTime":"2020-04-27 21:22:04","stack":"","status":"","timestamp":"","total":0,"requestBody":{},"method":"","url":""}
+{"pid":56754,"nodeVersion":"v12.16.1","launchTime":"2020-04-27 21:22:04","osUser":"root","osUid":0,"fetchConsumeTime":272,"level":"INFO","message":"POST /node/user/login info","requestTime":"2020-04-27 21:22:04","status":200,"total":null,"requestBody":{"userAccount":"cai","password":"123"},"url":"/node/user/login"}
+{"pid":56754,"nodeVersion":"v12.16.1","launchTime":"2020-04-27 21:22:07","osUser":"root","osUid":0,"fetchConsumeTime":106,"level":"INFO","message":"POST /node/game/room info","requestTime":"2020-04-27 21:22:07","status":200,"total":null,"requestBody":{},"url":"/node/game/room"}
+{"pid":56754,"nodeVersion":"v12.16.1","launchTime":"2020-04-27 21:22:23","osUser":"root","osUid":0,"fetchConsumeTime":0,"level":"INFO","message":"AccountService getToken token--eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyIjp7Im5pY2tOYW1lIjoi6JShMSIsImFjY291bnQiOiJjYWkxMSIsInVzZXJJZCI6M30sImlhdCI6MTU4Nzk5Mzc0MywiZXhwIjoxNTg4MDE1MzQzfQ.8jtO2T8z2unBTHshVLfUgX78sr_QxMu9Va2BmxgjxAc","requestTime":"2020-04-27 21:22:23","stack":"","status":"","timestamp":"","total":0,"requestBody":{},"method":"","url":""}
+{"pid":56754,"nodeVersion":"v12.16.1","launchTime":"2020-04-27 21:22:23","osUser":"root","osUid":0,"fetchConsumeTime":205,"level":"INFO","message":"POST /node/user/login info","requestTime":"2020-04-27 21:22:23","status":200,"total":null,"requestBody":{"userAccount":"cai11","password":"123"},"url":"/node/user/login"}
diff --git a/server/logs/game-node-center/agent.log b/server/logs/game-node-center/agent.log
index d72da7b..6225e16 100644
--- a/server/logs/game-node-center/agent.log
+++ b/server/logs/game-node-center/agent.log
@@ -110,3 +110,53 @@ name: "ClusterClientNoResponseError"
pid: 52895
hostname: 192.168.0.101
+2020-04-27 21:20:52,323 INFO 56753 [egg:logger] init all loggers with options: {"dir":"/Users/jorky/code/TexasPokerGame/server/logs/game-node-center","encoding":"utf8","env":"local","level":"INFO","consoleLevel":"INFO","disableConsoleAfterReady":false,"outputJSON":false,"buffer":true,"appLogName":"app.log","coreLogName":"core.log","agentLogName":"agent.log","errorLogName":"error.log","coreLogger":{"consoleLevel":"WARN"},"allowDebugAtProd":false,"type":"agent"}
+2020-04-27 21:20:52,330 INFO 56753 [egg:core] dump config after load, 4ms
+2020-04-27 21:20:52,361 INFO 56753 [egg-watcher] Start watching: ["/Users/jorky/code/TexasPokerGame/server/src/app","/Users/jorky/code/TexasPokerGame/server/src/lib","/Users/jorky/code/TexasPokerGame/server/src/service","/Users/jorky/code/TexasPokerGame/server/src/config","/Users/jorky/code/TexasPokerGame/server/src/app.ts","/Users/jorky/code/TexasPokerGame/server/src/agent.ts","/Users/jorky/code/TexasPokerGame/server/src/interface.ts"]
+2020-04-27 21:20:52,361 INFO 56753 [egg-watcher] Start watching: "/Users/jorky/code/TexasPokerGame/server/src/app"
+2020-04-27 21:20:52,361 INFO 56753 [egg-watcher] Start watching: "/Users/jorky/code/TexasPokerGame/server/src/lib"
+2020-04-27 21:20:52,361 INFO 56753 [egg-watcher] Start watching: "/Users/jorky/code/TexasPokerGame/server/src/service"
+2020-04-27 21:20:52,361 INFO 56753 [egg-watcher] Start watching: "/Users/jorky/code/TexasPokerGame/server/src/config"
+2020-04-27 21:20:52,361 INFO 56753 [egg-watcher] Start watching: "/Users/jorky/code/TexasPokerGame/server/src/app.ts"
+2020-04-27 21:20:52,362 INFO 56753 [egg-watcher] Start watching: "/Users/jorky/code/TexasPokerGame/server/src/agent.ts"
+2020-04-27 21:20:52,362 INFO 56753 [egg-watcher] Start watching: "/Users/jorky/code/TexasPokerGame/server/src/interface.ts"
+2020-04-27 21:20:52,362 INFO 56753 [egg-watcher:agent] watcher start success
+2020-04-27 21:20:52,469 INFO 56753 [egg:core] dump config after ready, 27ms
+2020-04-27 21:38:28,650 WARN 56753 [agent:development] reload worker because /Users/jorky/code/TexasPokerGame/server/src/app/io/controller/game.ts change
+2020-04-27 21:38:28,443 INFO 56753 [egg-watcher] Recieved a change event from eventSource: {"event":"change","path":"/Users/jorky/code/TexasPokerGame/server/src/app/io/controller/game.ts","stat":{"dev":16777220,"mode":33188,"nlink":1,"uid":501,"gid":20,"rdev":0,"blksize":4096,"ino":8594162100,"size":7430,"blocks":16,"atimeMs":1587993210089.0117,"mtimeMs":1587994708377.3418,"ctimeMs":1587994708377.3418,"birthtimeMs":1587976125975.3494,"atime":"2020-04-27T13:13:30.089Z","mtime":"2020-04-27T13:38:28.377Z","ctime":"2020-04-27T13:38:28.377Z","birthtime":"2020-04-27T08:28:45.975Z"},"remove":false,"isDirectory":false,"isFile":true}
+2020-04-27 21:44:55,892 INFO 56871 [egg:logger] init all loggers with options: {"dir":"/Users/jorky/code/TexasPokerGame/server/logs/game-node-center","encoding":"utf8","env":"local","level":"INFO","consoleLevel":"INFO","disableConsoleAfterReady":false,"outputJSON":false,"buffer":true,"appLogName":"app.log","coreLogName":"core.log","agentLogName":"agent.log","errorLogName":"error.log","coreLogger":{"consoleLevel":"WARN"},"allowDebugAtProd":false,"type":"agent"}
+2020-04-27 21:44:55,901 INFO 56871 [egg:core] dump config after load, 5ms
+2020-04-27 21:44:55,945 INFO 56871 [egg-watcher] Start watching: ["/Users/jorky/code/TexasPokerGame/server/src/app","/Users/jorky/code/TexasPokerGame/server/src/lib","/Users/jorky/code/TexasPokerGame/server/src/service","/Users/jorky/code/TexasPokerGame/server/src/config","/Users/jorky/code/TexasPokerGame/server/src/app.ts","/Users/jorky/code/TexasPokerGame/server/src/agent.ts","/Users/jorky/code/TexasPokerGame/server/src/interface.ts"]
+2020-04-27 21:44:55,945 INFO 56871 [egg-watcher] Start watching: "/Users/jorky/code/TexasPokerGame/server/src/app"
+2020-04-27 21:44:55,946 INFO 56871 [egg-watcher] Start watching: "/Users/jorky/code/TexasPokerGame/server/src/lib"
+2020-04-27 21:44:55,946 INFO 56871 [egg-watcher] Start watching: "/Users/jorky/code/TexasPokerGame/server/src/service"
+2020-04-27 21:44:55,946 INFO 56871 [egg-watcher] Start watching: "/Users/jorky/code/TexasPokerGame/server/src/config"
+2020-04-27 21:44:55,946 INFO 56871 [egg-watcher] Start watching: "/Users/jorky/code/TexasPokerGame/server/src/app.ts"
+2020-04-27 21:44:55,946 INFO 56871 [egg-watcher] Start watching: "/Users/jorky/code/TexasPokerGame/server/src/agent.ts"
+2020-04-27 21:44:55,947 INFO 56871 [egg-watcher] Start watching: "/Users/jorky/code/TexasPokerGame/server/src/interface.ts"
+2020-04-27 21:44:55,947 INFO 56871 [egg-watcher:agent] watcher start success
+2020-04-27 21:44:55,958 INFO 56871 [egg:core] dump config after ready, 5ms
+2020-04-27 21:49:54,188 INFO 56907 [egg:logger] init all loggers with options: {"dir":"/Users/jorky/code/TexasPokerGame/server/logs/game-node-center","encoding":"utf8","env":"local","level":"INFO","consoleLevel":"INFO","disableConsoleAfterReady":false,"outputJSON":false,"buffer":true,"appLogName":"app.log","coreLogName":"core.log","agentLogName":"agent.log","errorLogName":"error.log","coreLogger":{"consoleLevel":"WARN"},"allowDebugAtProd":false,"type":"agent"}
+2020-04-27 21:49:54,195 INFO 56907 [egg:core] dump config after load, 4ms
+2020-04-27 21:49:54,241 INFO 56907 [egg-watcher] Start watching: ["/Users/jorky/code/TexasPokerGame/server/src/app","/Users/jorky/code/TexasPokerGame/server/src/lib","/Users/jorky/code/TexasPokerGame/server/src/service","/Users/jorky/code/TexasPokerGame/server/src/config","/Users/jorky/code/TexasPokerGame/server/src/app.ts","/Users/jorky/code/TexasPokerGame/server/src/agent.ts","/Users/jorky/code/TexasPokerGame/server/src/interface.ts"]
+2020-04-27 21:49:54,241 INFO 56907 [egg-watcher] Start watching: "/Users/jorky/code/TexasPokerGame/server/src/app"
+2020-04-27 21:49:54,241 INFO 56907 [egg-watcher] Start watching: "/Users/jorky/code/TexasPokerGame/server/src/lib"
+2020-04-27 21:49:54,241 INFO 56907 [egg-watcher] Start watching: "/Users/jorky/code/TexasPokerGame/server/src/service"
+2020-04-27 21:49:54,241 INFO 56907 [egg-watcher] Start watching: "/Users/jorky/code/TexasPokerGame/server/src/config"
+2020-04-27 21:49:54,241 INFO 56907 [egg-watcher] Start watching: "/Users/jorky/code/TexasPokerGame/server/src/app.ts"
+2020-04-27 21:49:54,242 INFO 56907 [egg-watcher] Start watching: "/Users/jorky/code/TexasPokerGame/server/src/agent.ts"
+2020-04-27 21:49:54,242 INFO 56907 [egg-watcher] Start watching: "/Users/jorky/code/TexasPokerGame/server/src/interface.ts"
+2020-04-27 21:49:54,242 INFO 56907 [egg-watcher:agent] watcher start success
+2020-04-27 21:49:54,261 INFO 56907 [egg:core] dump config after ready, 13ms
+2020-04-27 21:51:04,155 INFO 56935 [egg:logger] init all loggers with options: {"dir":"/Users/jorky/code/TexasPokerGame/server/logs/game-node-center","encoding":"utf8","env":"local","level":"INFO","consoleLevel":"INFO","disableConsoleAfterReady":false,"outputJSON":false,"buffer":true,"appLogName":"app.log","coreLogName":"core.log","agentLogName":"agent.log","errorLogName":"error.log","coreLogger":{"consoleLevel":"WARN"},"allowDebugAtProd":false,"type":"agent"}
+2020-04-27 21:51:04,163 INFO 56935 [egg:core] dump config after load, 4ms
+2020-04-27 21:51:04,192 INFO 56935 [egg-watcher] Start watching: ["/Users/jorky/code/TexasPokerGame/server/src/app","/Users/jorky/code/TexasPokerGame/server/src/lib","/Users/jorky/code/TexasPokerGame/server/src/service","/Users/jorky/code/TexasPokerGame/server/src/config","/Users/jorky/code/TexasPokerGame/server/src/app.ts","/Users/jorky/code/TexasPokerGame/server/src/agent.ts","/Users/jorky/code/TexasPokerGame/server/src/interface.ts"]
+2020-04-27 21:51:04,192 INFO 56935 [egg-watcher] Start watching: "/Users/jorky/code/TexasPokerGame/server/src/app"
+2020-04-27 21:51:04,192 INFO 56935 [egg-watcher] Start watching: "/Users/jorky/code/TexasPokerGame/server/src/lib"
+2020-04-27 21:51:04,192 INFO 56935 [egg-watcher] Start watching: "/Users/jorky/code/TexasPokerGame/server/src/service"
+2020-04-27 21:51:04,192 INFO 56935 [egg-watcher] Start watching: "/Users/jorky/code/TexasPokerGame/server/src/config"
+2020-04-27 21:51:04,192 INFO 56935 [egg-watcher] Start watching: "/Users/jorky/code/TexasPokerGame/server/src/app.ts"
+2020-04-27 21:51:04,193 INFO 56935 [egg-watcher] Start watching: "/Users/jorky/code/TexasPokerGame/server/src/agent.ts"
+2020-04-27 21:51:04,193 INFO 56935 [egg-watcher] Start watching: "/Users/jorky/code/TexasPokerGame/server/src/interface.ts"
+2020-04-27 21:51:04,193 INFO 56935 [egg-watcher:agent] watcher start success
+2020-04-27 21:51:04,203 INFO 56935 [egg:core] dump config after ready, 5ms
diff --git a/server/logs/game-node-center/app.log b/server/logs/game-node-center/app.log
index 28cb8bf..00e57b8 100644
--- a/server/logs/game-node-center/app.log
+++ b/server/logs/game-node-center/app.log
@@ -257,3 +257,32 @@ hostname: 192.168.0.105
fetchEnd: 1587648315562
}
2020-04-23 22:41:00,428 ERROR 52898 [-/192.168.0.101/-/2ms GET /socket.io/?room=652114&token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyIjp7Im5pY2tOYW1lIjoi6JShMSIsImFjY291bnQiOiJjYWkxMSIsInVzZXJJZCI6M30sImlhdCI6MTU4NzY0ODI1NSwiZXhwIjoxNTg3NjY5ODU1fQ.__TDymI59M3EkIQDEzsjRGaTiZme4EzcbOKvZRjWoQE&EIO=3&transport=websocket] room service tick null
+2020-04-27 21:22:04,595 INFO 56754 [-/192.168.0.103/-/288ms POST /node/user/login] AccountService getToken token--eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyIjp7Im5pY2tOYW1lIjoiYyIsImFjY291bnQiOiJjYWkiLCJ1c2VySWQiOjF9LCJpYXQiOjE1ODc5OTM3MjQsImV4cCI6MTU4ODAxNTMyNH0.qg2Hyc4aGmeVpx83_5w8sNnFRxKGuGx_mNMFHEqrS5U
+2020-04-27 21:22:04,599 INFO 56754 [-/192.168.0.103/-/292ms POST /node/user/login] {
+ fetchStart: 1587993724327,
+ url: '/node/user/login',
+ requestBody: { userAccount: 'cai', password: '123' },
+ message: 'POST /node/user/login info',
+ level: 'INFO',
+ status: 200,
+ fetchEnd: 1587993724599
+}
+2020-04-27 21:22:07,761 INFO 56754 [-/192.168.0.103/-/108ms POST /node/game/room] {
+ fetchStart: 1587993727655,
+ url: '/node/game/room',
+ requestBody: {},
+ message: 'POST /node/game/room info',
+ level: 'INFO',
+ status: 200,
+ fetchEnd: 1587993727761
+}
+2020-04-27 21:22:23,462 INFO 56754 [-/192.168.0.103/-/204ms POST /node/user/login] AccountService getToken token--eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyIjp7Im5pY2tOYW1lIjoi6JShMSIsImFjY291bnQiOiJjYWkxMSIsInVzZXJJZCI6M30sImlhdCI6MTU4Nzk5Mzc0MywiZXhwIjoxNTg4MDE1MzQzfQ.8jtO2T8z2unBTHshVLfUgX78sr_QxMu9Va2BmxgjxAc
+2020-04-27 21:22:23,462 INFO 56754 [-/192.168.0.103/-/205ms POST /node/user/login] {
+ fetchStart: 1587993743257,
+ url: '/node/user/login',
+ requestBody: { userAccount: 'cai11', password: '123' },
+ message: 'POST /node/user/login info',
+ level: 'INFO',
+ status: 200,
+ fetchEnd: 1587993743462
+}
diff --git a/server/logs/game-node-center/core.log b/server/logs/game-node-center/core.log
index e1be7f5..369e898 100644
--- a/server/logs/game-node-center/core.log
+++ b/server/logs/game-node-center/core.log
@@ -218,3 +218,563 @@ hostname: 192.168.0.105
2020-04-24 00:21:50,009 WARN 52898 [ClusterClient:Watcher] follower closed, and try to init it again
2020-04-24 00:22:26,166 ERROR 52898 incorrect action: check
2020-04-24 00:30:09,626 WARN 52898 [ClusterClient:Watcher] follower closed, and try to init it again
+2020-04-27 21:20:53,364 INFO 56754 [egg:logger] init all loggers with options: {"dir":"/Users/jorky/code/TexasPokerGame/server/logs/game-node-center","encoding":"utf8","env":"local","level":"INFO","consoleLevel":"INFO","disableConsoleAfterReady":false,"outputJSON":false,"buffer":true,"appLogName":"app.log","coreLogName":"core.log","agentLogName":"agent.log","errorLogName":"error.log","coreLogger":{"consoleLevel":"WARN"},"allowDebugAtProd":false,"type":"application"}
+2020-04-27 21:20:53,386 INFO 56754 [egg-multipart] stream mode enable
+2020-04-27 21:20:53,450 INFO 56754 [egg-redis] server connecting redis://:***@127.0.0.1:6379/0
+2020-04-27 21:20:53,475 INFO 56754 [egg-mysql] connecting root@47.104.172.100:3306/poker
+2020-04-27 21:20:53,643 INFO 56754 [egg-static] starting static serve /public/ -> /Users/jorky/code/TexasPokerGame/server/src/app/public
+2020-04-27 21:20:53,645 INFO 56754 [egg-security] use noopen middleware
+2020-04-27 21:20:53,646 INFO 56754 [egg-security] use nosniff middleware
+2020-04-27 21:20:53,646 INFO 56754 [egg-security] use xssProtection middleware
+2020-04-27 21:20:53,647 INFO 56754 [egg-security] use xframe middleware
+2020-04-27 21:20:53,648 INFO 56754 [egg-security] use dta middleware
+2020-04-27 21:20:53,648 INFO 56754 [egg-security] compose 5 middlewares into one security middleware
+2020-04-27 21:20:53,656 INFO 56754 [egg:core] dump config after load, 5ms
+2020-04-27 21:20:53,668 INFO 56754 [egg-redis] client connect success
+2020-04-27 21:20:53,673 INFO 56754 [egg-redis] instance[0] status OK, client ready
+2020-04-27 21:20:53,675 INFO 56754 [egg-watcher:application] watcher start success
+2020-04-27 21:20:53,867 INFO 56754 [egg-mysql] instance[0] status OK, rds currentTime: Mon Apr 27 2020 21:20:53 GMT+0800 (China Standard Time)
+2020-04-27 21:20:53,900 INFO 56754 [egg:core] dump config after ready, 5ms
+2020-04-27 21:38:33,621 INFO 56817 [egg:logger] init all loggers with options: {"dir":"/Users/jorky/code/TexasPokerGame/server/logs/game-node-center","encoding":"utf8","env":"local","level":"INFO","consoleLevel":"INFO","disableConsoleAfterReady":false,"outputJSON":false,"buffer":true,"appLogName":"app.log","coreLogName":"core.log","agentLogName":"agent.log","errorLogName":"error.log","coreLogger":{"consoleLevel":"WARN"},"allowDebugAtProd":false,"type":"application"}
+2020-04-27 21:38:33,652 INFO 56817 [egg-multipart] stream mode enable
+2020-04-27 21:38:33,729 INFO 56817 [egg-redis] server connecting redis://:***@127.0.0.1:6379/0
+2020-04-27 21:38:33,755 INFO 56817 [egg-mysql] connecting root@47.104.172.100:3306/poker
+2020-04-27 21:38:33,944 INFO 56817 [egg-static] starting static serve /public/ -> /Users/jorky/code/TexasPokerGame/server/src/app/public
+2020-04-27 21:38:33,947 INFO 56817 [egg-security] use noopen middleware
+2020-04-27 21:38:33,948 INFO 56817 [egg-security] use nosniff middleware
+2020-04-27 21:38:33,949 INFO 56817 [egg-security] use xssProtection middleware
+2020-04-27 21:38:33,950 INFO 56817 [egg-security] use xframe middleware
+2020-04-27 21:38:33,950 INFO 56817 [egg-security] use dta middleware
+2020-04-27 21:38:33,950 INFO 56817 [egg-security] compose 5 middlewares into one security middleware
+2020-04-27 21:38:33,960 INFO 56817 [egg:core] dump config after load, 7ms
+2020-04-27 21:38:33,978 INFO 56817 [egg-redis] client connect success
+2020-04-27 21:38:33,983 INFO 56817 [egg-redis] instance[0] status OK, client ready
+2020-04-27 21:38:33,986 INFO 56817 [egg-watcher:application] watcher start success
+2020-04-27 21:38:36,238 INFO 56817 [egg-mysql] instance[0] status OK, rds currentTime: Mon Apr 27 2020 21:38:36 GMT+0800 (China Standard Time)
+2020-04-27 21:38:36,269 INFO 56817 [egg:core] dump config after ready, 6ms
+2020-04-27 21:44:12,691 ERROR 56817 nodejs.TypeError: Cannot read property '0' of undefined (uncaughtException throw 1 times on pid:56817)
+ at /Users/jorky/code/TexasPokerGame/server/src/app/io/controller/game.ts:85:69
+ at processTicksAndRejections (internal/process/task_queues.js:79:11)
+
+pid: 56817
+hostname: 192.168.0.103
+
+2020-04-27 21:44:56,898 INFO 56872 [egg:logger] init all loggers with options: {"dir":"/Users/jorky/code/TexasPokerGame/server/logs/game-node-center","encoding":"utf8","env":"local","level":"INFO","consoleLevel":"INFO","disableConsoleAfterReady":false,"outputJSON":false,"buffer":true,"appLogName":"app.log","coreLogName":"core.log","agentLogName":"agent.log","errorLogName":"error.log","coreLogger":{"consoleLevel":"WARN"},"allowDebugAtProd":false,"type":"application"}
+2020-04-27 21:44:56,921 INFO 56872 [egg-multipart] stream mode enable
+2020-04-27 21:44:56,984 INFO 56872 [egg-redis] server connecting redis://:***@127.0.0.1:6379/0
+2020-04-27 21:44:57,001 INFO 56872 [egg-mysql] connecting root@47.104.172.100:3306/poker
+2020-04-27 21:44:57,170 INFO 56872 [egg-static] starting static serve /public/ -> /Users/jorky/code/TexasPokerGame/server/src/app/public
+2020-04-27 21:44:57,172 INFO 56872 [egg-security] use noopen middleware
+2020-04-27 21:44:57,173 INFO 56872 [egg-security] use nosniff middleware
+2020-04-27 21:44:57,174 INFO 56872 [egg-security] use xssProtection middleware
+2020-04-27 21:44:57,174 INFO 56872 [egg-security] use xframe middleware
+2020-04-27 21:44:57,175 INFO 56872 [egg-security] use dta middleware
+2020-04-27 21:44:57,175 INFO 56872 [egg-security] compose 5 middlewares into one security middleware
+2020-04-27 21:44:57,183 INFO 56872 [egg:core] dump config after load, 5ms
+2020-04-27 21:44:57,195 INFO 56872 [egg-redis] client connect success
+2020-04-27 21:44:57,199 INFO 56872 [egg-redis] instance[0] status OK, client ready
+2020-04-27 21:44:57,201 INFO 56872 [egg-watcher:application] watcher start success
+2020-04-27 21:44:57,410 INFO 56872 [egg-mysql] instance[0] status OK, rds currentTime: Mon Apr 27 2020 21:44:57 GMT+0800 (China Standard Time)
+2020-04-27 21:44:57,438 INFO 56872 [egg:core] dump config after ready, 6ms
+2020-04-27 21:49:55,157 INFO 56908 [egg:logger] init all loggers with options: {"dir":"/Users/jorky/code/TexasPokerGame/server/logs/game-node-center","encoding":"utf8","env":"local","level":"INFO","consoleLevel":"INFO","disableConsoleAfterReady":false,"outputJSON":false,"buffer":true,"appLogName":"app.log","coreLogName":"core.log","agentLogName":"agent.log","errorLogName":"error.log","coreLogger":{"consoleLevel":"WARN"},"allowDebugAtProd":false,"type":"application"}
+2020-04-27 21:49:55,185 INFO 56908 [egg-multipart] stream mode enable
+2020-04-27 21:49:55,271 INFO 56908 [egg-redis] server connecting redis://:***@127.0.0.1:6379/0
+2020-04-27 21:49:55,320 INFO 56908 [egg-mysql] connecting root@47.104.172.100:3306/poker
+2020-04-27 21:49:55,491 INFO 56908 [egg-static] starting static serve /public/ -> /Users/jorky/code/TexasPokerGame/server/src/app/public
+2020-04-27 21:49:55,494 INFO 56908 [egg-security] use noopen middleware
+2020-04-27 21:49:55,495 INFO 56908 [egg-security] use nosniff middleware
+2020-04-27 21:49:55,496 INFO 56908 [egg-security] use xssProtection middleware
+2020-04-27 21:49:55,497 INFO 56908 [egg-security] use xframe middleware
+2020-04-27 21:49:55,498 INFO 56908 [egg-security] use dta middleware
+2020-04-27 21:49:55,498 INFO 56908 [egg-security] compose 5 middlewares into one security middleware
+2020-04-27 21:49:55,506 INFO 56908 [egg:core] dump config after load, 6ms
+2020-04-27 21:49:55,519 INFO 56908 [egg-redis] client connect success
+2020-04-27 21:49:55,523 INFO 56908 [egg-redis] instance[0] status OK, client ready
+2020-04-27 21:49:55,526 INFO 56908 [egg-watcher:application] watcher start success
+2020-04-27 21:49:55,731 INFO 56908 [egg-mysql] instance[0] status OK, rds currentTime: Mon Apr 27 2020 21:49:55 GMT+0800 (China Standard Time)
+2020-04-27 21:49:55,760 INFO 56908 [egg:core] dump config after ready, 6ms
+2020-04-27 21:51:04,942 INFO 56936 [egg:logger] init all loggers with options: {"dir":"/Users/jorky/code/TexasPokerGame/server/logs/game-node-center","encoding":"utf8","env":"local","level":"INFO","consoleLevel":"INFO","disableConsoleAfterReady":false,"outputJSON":false,"buffer":true,"appLogName":"app.log","coreLogName":"core.log","agentLogName":"agent.log","errorLogName":"error.log","coreLogger":{"consoleLevel":"WARN"},"allowDebugAtProd":false,"type":"application"}
+2020-04-27 21:51:04,964 INFO 56936 [egg-multipart] stream mode enable
+2020-04-27 21:51:04,988 INFO 56936 [egg-redis] server connecting redis://:***@127.0.0.1:6379/0
+2020-04-27 21:51:05,003 INFO 56936 [egg-mysql] connecting root@47.104.172.100:3306/poker
+2020-04-27 21:51:05,075 INFO 56936 [egg-static] starting static serve /public/ -> /Users/jorky/code/TexasPokerGame/server/src/app/public
+2020-04-27 21:51:05,076 INFO 56936 [egg-security] use noopen middleware
+2020-04-27 21:51:05,076 INFO 56936 [egg-security] use nosniff middleware
+2020-04-27 21:51:05,077 INFO 56936 [egg-security] use xssProtection middleware
+2020-04-27 21:51:05,077 INFO 56936 [egg-security] use xframe middleware
+2020-04-27 21:51:05,077 INFO 56936 [egg-security] use dta middleware
+2020-04-27 21:51:05,077 INFO 56936 [egg-security] compose 5 middlewares into one security middleware
+2020-04-27 21:51:05,085 INFO 56936 [egg:core] dump config after load, 5ms
+2020-04-27 21:51:05,096 INFO 56936 [egg-redis] client connect success
+2020-04-27 21:51:05,100 INFO 56936 [egg-redis] instance[0] status OK, client ready
+2020-04-27 21:51:05,102 INFO 56936 [egg-watcher:application] watcher start success
+2020-04-27 21:51:05,340 INFO 56936 [egg-mysql] instance[0] status OK, rds currentTime: Mon Apr 27 2020 21:51:05 GMT+0800 (China Standard Time)
+2020-04-27 21:51:05,352 INFO 56936 [egg:core] dump config after ready, 5ms
+2020-04-27 21:55:00,193 ERROR 56936 [egg-redis] client error: Error: connect ECONNREFUSED 127.0.0.1:6379
+ at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1137:16) {
+ errno: 'ECONNREFUSED',
+ code: 'ECONNREFUSED',
+ syscall: 'connect',
+ address: '127.0.0.1',
+ port: 6379
+}
+2020-04-27 21:55:00,193 ERROR 56936 nodejs.ECONNREFUSEDError: connect ECONNREFUSED 127.0.0.1:6379
+ at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1137:16)
+errno: "ECONNREFUSED"
+code: "ECONNREFUSED"
+syscall: "connect"
+address: "127.0.0.1"
+port: 6379
+name: "ECONNREFUSEDError"
+pid: 56936
+hostname: 192.168.0.103
+
+2020-04-27 21:55:00,296 ERROR 56936 [egg-redis] client error: Error: connect ECONNREFUSED 127.0.0.1:6379
+ at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1137:16) {
+ errno: 'ECONNREFUSED',
+ code: 'ECONNREFUSED',
+ syscall: 'connect',
+ address: '127.0.0.1',
+ port: 6379
+}
+2020-04-27 21:55:00,297 ERROR 56936 nodejs.ECONNREFUSEDError: connect ECONNREFUSED 127.0.0.1:6379
+ at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1137:16)
+errno: "ECONNREFUSED"
+code: "ECONNREFUSED"
+syscall: "connect"
+address: "127.0.0.1"
+port: 6379
+name: "ECONNREFUSEDError"
+pid: 56936
+hostname: 192.168.0.103
+
+2020-04-27 21:55:00,331 ERROR 56936 nodejs.ECONNREFUSEDError: Redis connection to 127.0.0.1:6379 failed - connect ECONNREFUSED 127.0.0.1:6379
+ at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1137:16)
+errno: "ECONNREFUSED"
+code: "ECONNREFUSED"
+syscall: "connect"
+address: "127.0.0.1"
+port: 6379
+name: "ECONNREFUSEDError"
+pid: 56936
+hostname: 192.168.0.103
+
+2020-04-27 21:55:00,333 ERROR 56936 nodejs.ECONNREFUSEDError: Redis connection to 127.0.0.1:6379 failed - connect ECONNREFUSED 127.0.0.1:6379
+ at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1137:16)
+errno: "ECONNREFUSED"
+code: "ECONNREFUSED"
+syscall: "connect"
+address: "127.0.0.1"
+port: 6379
+name: "ECONNREFUSEDError"
+pid: 56936
+hostname: 192.168.0.103
+
+2020-04-27 21:55:00,334 ERROR 56936 nodejs.ECONNREFUSEDError: Redis connection to 127.0.0.1:6379 failed - connect ECONNREFUSED 127.0.0.1:6379
+ at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1137:16)
+errno: "ECONNREFUSED"
+code: "ECONNREFUSED"
+syscall: "connect"
+address: "127.0.0.1"
+port: 6379
+name: "ECONNREFUSEDError"
+pid: 56936
+hostname: 192.168.0.103
+
+2020-04-27 21:55:00,334 ERROR 56936 nodejs.ECONNREFUSEDError: Redis connection to 127.0.0.1:6379 failed - connect ECONNREFUSED 127.0.0.1:6379
+ at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1137:16)
+errno: "ECONNREFUSED"
+code: "ECONNREFUSED"
+syscall: "connect"
+address: "127.0.0.1"
+port: 6379
+name: "ECONNREFUSEDError"
+pid: 56936
+hostname: 192.168.0.103
+
+2020-04-27 21:55:00,451 ERROR 56936 [egg-redis] client error: Error: connect ECONNREFUSED 127.0.0.1:6379
+ at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1137:16) {
+ errno: 'ECONNREFUSED',
+ code: 'ECONNREFUSED',
+ syscall: 'connect',
+ address: '127.0.0.1',
+ port: 6379
+}
+2020-04-27 21:55:00,452 ERROR 56936 nodejs.ECONNREFUSEDError: connect ECONNREFUSED 127.0.0.1:6379
+ at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1137:16)
+errno: "ECONNREFUSED"
+code: "ECONNREFUSED"
+syscall: "connect"
+address: "127.0.0.1"
+port: 6379
+name: "ECONNREFUSEDError"
+pid: 56936
+hostname: 192.168.0.103
+
+2020-04-27 21:55:00,654 ERROR 56936 [egg-redis] client error: Error: connect ECONNREFUSED 127.0.0.1:6379
+ at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1137:16) {
+ errno: 'ECONNREFUSED',
+ code: 'ECONNREFUSED',
+ syscall: 'connect',
+ address: '127.0.0.1',
+ port: 6379
+}
+2020-04-27 21:55:00,655 ERROR 56936 nodejs.ECONNREFUSEDError: connect ECONNREFUSED 127.0.0.1:6379
+ at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1137:16)
+errno: "ECONNREFUSED"
+code: "ECONNREFUSED"
+syscall: "connect"
+address: "127.0.0.1"
+port: 6379
+name: "ECONNREFUSEDError"
+pid: 56936
+hostname: 192.168.0.103
+
+2020-04-27 21:55:00,676 ERROR 56936 nodejs.ECONNREFUSEDError: Redis connection to 127.0.0.1:6379 failed - connect ECONNREFUSED 127.0.0.1:6379
+ at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1137:16)
+errno: "ECONNREFUSED"
+code: "ECONNREFUSED"
+syscall: "connect"
+address: "127.0.0.1"
+port: 6379
+name: "ECONNREFUSEDError"
+pid: 56936
+hostname: 192.168.0.103
+
+2020-04-27 21:55:00,676 ERROR 56936 nodejs.ECONNREFUSEDError: Redis connection to 127.0.0.1:6379 failed - connect ECONNREFUSED 127.0.0.1:6379
+ at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1137:16)
+errno: "ECONNREFUSED"
+code: "ECONNREFUSED"
+syscall: "connect"
+address: "127.0.0.1"
+port: 6379
+name: "ECONNREFUSEDError"
+pid: 56936
+hostname: 192.168.0.103
+
+2020-04-27 21:55:00,677 ERROR 56936 nodejs.ECONNREFUSEDError: Redis connection to 127.0.0.1:6379 failed - connect ECONNREFUSED 127.0.0.1:6379
+ at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1137:16)
+errno: "ECONNREFUSED"
+code: "ECONNREFUSED"
+syscall: "connect"
+address: "127.0.0.1"
+port: 6379
+name: "ECONNREFUSEDError"
+pid: 56936
+hostname: 192.168.0.103
+
+2020-04-27 21:55:00,677 ERROR 56936 nodejs.ECONNREFUSEDError: Redis connection to 127.0.0.1:6379 failed - connect ECONNREFUSED 127.0.0.1:6379
+ at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1137:16)
+errno: "ECONNREFUSED"
+code: "ECONNREFUSED"
+syscall: "connect"
+address: "127.0.0.1"
+port: 6379
+name: "ECONNREFUSEDError"
+pid: 56936
+hostname: 192.168.0.103
+
+2020-04-27 21:55:00,908 ERROR 56936 [egg-redis] client error: Error: connect ECONNREFUSED 127.0.0.1:6379
+ at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1137:16) {
+ errno: 'ECONNREFUSED',
+ code: 'ECONNREFUSED',
+ syscall: 'connect',
+ address: '127.0.0.1',
+ port: 6379
+}
+2020-04-27 21:55:00,909 ERROR 56936 nodejs.ECONNREFUSEDError: connect ECONNREFUSED 127.0.0.1:6379
+ at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1137:16)
+errno: "ECONNREFUSED"
+code: "ECONNREFUSED"
+syscall: "connect"
+address: "127.0.0.1"
+port: 6379
+name: "ECONNREFUSEDError"
+pid: 56936
+hostname: 192.168.0.103
+
+2020-04-27 21:55:01,212 ERROR 56936 [egg-redis] client error: Error: connect ECONNREFUSED 127.0.0.1:6379
+ at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1137:16) {
+ errno: 'ECONNREFUSED',
+ code: 'ECONNREFUSED',
+ syscall: 'connect',
+ address: '127.0.0.1',
+ port: 6379
+}
+2020-04-27 21:55:01,213 ERROR 56936 nodejs.ECONNREFUSEDError: connect ECONNREFUSED 127.0.0.1:6379
+ at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1137:16)
+errno: "ECONNREFUSED"
+code: "ECONNREFUSED"
+syscall: "connect"
+address: "127.0.0.1"
+port: 6379
+name: "ECONNREFUSEDError"
+pid: 56936
+hostname: 192.168.0.103
+
+2020-04-27 21:55:01,258 ERROR 56936 nodejs.ECONNREFUSEDError: Redis connection to 127.0.0.1:6379 failed - connect ECONNREFUSED 127.0.0.1:6379
+ at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1137:16)
+errno: "ECONNREFUSED"
+code: "ECONNREFUSED"
+syscall: "connect"
+address: "127.0.0.1"
+port: 6379
+name: "ECONNREFUSEDError"
+pid: 56936
+hostname: 192.168.0.103
+
+2020-04-27 21:55:01,258 ERROR 56936 nodejs.ECONNREFUSEDError: Redis connection to 127.0.0.1:6379 failed - connect ECONNREFUSED 127.0.0.1:6379
+ at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1137:16)
+errno: "ECONNREFUSED"
+code: "ECONNREFUSED"
+syscall: "connect"
+address: "127.0.0.1"
+port: 6379
+name: "ECONNREFUSEDError"
+pid: 56936
+hostname: 192.168.0.103
+
+2020-04-27 21:55:01,258 ERROR 56936 nodejs.ECONNREFUSEDError: Redis connection to 127.0.0.1:6379 failed - connect ECONNREFUSED 127.0.0.1:6379
+ at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1137:16)
+errno: "ECONNREFUSED"
+code: "ECONNREFUSED"
+syscall: "connect"
+address: "127.0.0.1"
+port: 6379
+name: "ECONNREFUSEDError"
+pid: 56936
+hostname: 192.168.0.103
+
+2020-04-27 21:55:01,259 ERROR 56936 nodejs.ECONNREFUSEDError: Redis connection to 127.0.0.1:6379 failed - connect ECONNREFUSED 127.0.0.1:6379
+ at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1137:16)
+errno: "ECONNREFUSED"
+code: "ECONNREFUSED"
+syscall: "connect"
+address: "127.0.0.1"
+port: 6379
+name: "ECONNREFUSEDError"
+pid: 56936
+hostname: 192.168.0.103
+
+2020-04-27 21:55:01,568 ERROR 56936 [egg-redis] client error: Error: connect ECONNREFUSED 127.0.0.1:6379
+ at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1137:16) {
+ errno: 'ECONNREFUSED',
+ code: 'ECONNREFUSED',
+ syscall: 'connect',
+ address: '127.0.0.1',
+ port: 6379
+}
+2020-04-27 21:55:01,569 ERROR 56936 nodejs.ECONNREFUSEDError: connect ECONNREFUSED 127.0.0.1:6379
+ at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1137:16)
+errno: "ECONNREFUSED"
+code: "ECONNREFUSED"
+syscall: "connect"
+address: "127.0.0.1"
+port: 6379
+name: "ECONNREFUSEDError"
+pid: 56936
+hostname: 192.168.0.103
+
+2020-04-27 21:55:01,974 ERROR 56936 [egg-redis] client error: Error: connect ECONNREFUSED 127.0.0.1:6379
+ at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1137:16) {
+ errno: 'ECONNREFUSED',
+ code: 'ECONNREFUSED',
+ syscall: 'connect',
+ address: '127.0.0.1',
+ port: 6379
+}
+2020-04-27 21:55:01,974 ERROR 56936 nodejs.ECONNREFUSEDError: connect ECONNREFUSED 127.0.0.1:6379
+ at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1137:16)
+errno: "ECONNREFUSED"
+code: "ECONNREFUSED"
+syscall: "connect"
+address: "127.0.0.1"
+port: 6379
+name: "ECONNREFUSEDError"
+pid: 56936
+hostname: 192.168.0.103
+
+2020-04-27 21:55:02,242 ERROR 56936 nodejs.ECONNREFUSEDError: Redis connection to 127.0.0.1:6379 failed - connect ECONNREFUSED 127.0.0.1:6379
+ at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1137:16)
+errno: "ECONNREFUSED"
+code: "ECONNREFUSED"
+syscall: "connect"
+address: "127.0.0.1"
+port: 6379
+name: "ECONNREFUSEDError"
+pid: 56936
+hostname: 192.168.0.103
+
+2020-04-27 21:55:02,242 ERROR 56936 nodejs.ECONNREFUSEDError: Redis connection to 127.0.0.1:6379 failed - connect ECONNREFUSED 127.0.0.1:6379
+ at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1137:16)
+errno: "ECONNREFUSED"
+code: "ECONNREFUSED"
+syscall: "connect"
+address: "127.0.0.1"
+port: 6379
+name: "ECONNREFUSEDError"
+pid: 56936
+hostname: 192.168.0.103
+
+2020-04-27 21:55:02,243 ERROR 56936 nodejs.ECONNREFUSEDError: Redis connection to 127.0.0.1:6379 failed - connect ECONNREFUSED 127.0.0.1:6379
+ at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1137:16)
+errno: "ECONNREFUSED"
+code: "ECONNREFUSED"
+syscall: "connect"
+address: "127.0.0.1"
+port: 6379
+name: "ECONNREFUSEDError"
+pid: 56936
+hostname: 192.168.0.103
+
+2020-04-27 21:55:02,244 ERROR 56936 nodejs.ECONNREFUSEDError: Redis connection to 127.0.0.1:6379 failed - connect ECONNREFUSED 127.0.0.1:6379
+ at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1137:16)
+errno: "ECONNREFUSED"
+code: "ECONNREFUSED"
+syscall: "connect"
+address: "127.0.0.1"
+port: 6379
+name: "ECONNREFUSEDError"
+pid: 56936
+hostname: 192.168.0.103
+
+2020-04-27 21:55:02,428 ERROR 56936 [egg-redis] client error: Error: connect ECONNREFUSED 127.0.0.1:6379
+ at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1137:16) {
+ errno: 'ECONNREFUSED',
+ code: 'ECONNREFUSED',
+ syscall: 'connect',
+ address: '127.0.0.1',
+ port: 6379
+}
+2020-04-27 21:55:02,428 ERROR 56936 nodejs.ECONNREFUSEDError: connect ECONNREFUSED 127.0.0.1:6379
+ at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1137:16)
+errno: "ECONNREFUSED"
+code: "ECONNREFUSED"
+syscall: "connect"
+address: "127.0.0.1"
+port: 6379
+name: "ECONNREFUSEDError"
+pid: 56936
+hostname: 192.168.0.103
+
+2020-04-27 21:55:02,935 ERROR 56936 [egg-redis] client error: Error: connect ECONNREFUSED 127.0.0.1:6379
+ at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1137:16) {
+ errno: 'ECONNREFUSED',
+ code: 'ECONNREFUSED',
+ syscall: 'connect',
+ address: '127.0.0.1',
+ port: 6379
+}
+2020-04-27 21:55:02,935 ERROR 56936 nodejs.ECONNREFUSEDError: connect ECONNREFUSED 127.0.0.1:6379
+ at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1137:16)
+errno: "ECONNREFUSED"
+code: "ECONNREFUSED"
+syscall: "connect"
+address: "127.0.0.1"
+port: 6379
+name: "ECONNREFUSEDError"
+pid: 56936
+hostname: 192.168.0.103
+
+2020-04-27 21:55:03,487 ERROR 56936 [egg-redis] client error: Error: connect ECONNREFUSED 127.0.0.1:6379
+ at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1137:16) {
+ errno: 'ECONNREFUSED',
+ code: 'ECONNREFUSED',
+ syscall: 'connect',
+ address: '127.0.0.1',
+ port: 6379
+}
+2020-04-27 21:55:03,488 ERROR 56936 nodejs.ECONNREFUSEDError: connect ECONNREFUSED 127.0.0.1:6379
+ at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1137:16)
+errno: "ECONNREFUSED"
+code: "ECONNREFUSED"
+syscall: "connect"
+address: "127.0.0.1"
+port: 6379
+name: "ECONNREFUSEDError"
+pid: 56936
+hostname: 192.168.0.103
+
+2020-04-27 21:55:03,921 ERROR 56936 nodejs.ECONNREFUSEDError: Redis connection to 127.0.0.1:6379 failed - connect ECONNREFUSED 127.0.0.1:6379
+ at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1137:16)
+errno: "ECONNREFUSED"
+code: "ECONNREFUSED"
+syscall: "connect"
+address: "127.0.0.1"
+port: 6379
+name: "ECONNREFUSEDError"
+pid: 56936
+hostname: 192.168.0.103
+
+2020-04-27 21:55:03,921 ERROR 56936 nodejs.ECONNREFUSEDError: Redis connection to 127.0.0.1:6379 failed - connect ECONNREFUSED 127.0.0.1:6379
+ at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1137:16)
+errno: "ECONNREFUSED"
+code: "ECONNREFUSED"
+syscall: "connect"
+address: "127.0.0.1"
+port: 6379
+name: "ECONNREFUSEDError"
+pid: 56936
+hostname: 192.168.0.103
+
+2020-04-27 21:55:03,922 ERROR 56936 nodejs.ECONNREFUSEDError: Redis connection to 127.0.0.1:6379 failed - connect ECONNREFUSED 127.0.0.1:6379
+ at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1137:16)
+errno: "ECONNREFUSED"
+code: "ECONNREFUSED"
+syscall: "connect"
+address: "127.0.0.1"
+port: 6379
+name: "ECONNREFUSEDError"
+pid: 56936
+hostname: 192.168.0.103
+
+2020-04-27 21:55:03,922 ERROR 56936 nodejs.ECONNREFUSEDError: Redis connection to 127.0.0.1:6379 failed - connect ECONNREFUSED 127.0.0.1:6379
+ at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1137:16)
+errno: "ECONNREFUSED"
+code: "ECONNREFUSED"
+syscall: "connect"
+address: "127.0.0.1"
+port: 6379
+name: "ECONNREFUSEDError"
+pid: 56936
+hostname: 192.168.0.103
+
+2020-04-27 21:55:04,090 ERROR 56936 [egg-redis] client error: Error: connect ECONNREFUSED 127.0.0.1:6379
+ at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1137:16) {
+ errno: 'ECONNREFUSED',
+ code: 'ECONNREFUSED',
+ syscall: 'connect',
+ address: '127.0.0.1',
+ port: 6379
+}
+2020-04-27 21:55:04,090 ERROR 56936 nodejs.ECONNREFUSEDError: connect ECONNREFUSED 127.0.0.1:6379
+ at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1137:16)
+errno: "ECONNREFUSED"
+code: "ECONNREFUSED"
+syscall: "connect"
+address: "127.0.0.1"
+port: 6379
+name: "ECONNREFUSEDError"
+pid: 56936
+hostname: 192.168.0.103
+
+2020-04-27 21:55:04,743 ERROR 56936 [egg-redis] client error: Error: connect ECONNREFUSED 127.0.0.1:6379
+ at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1137:16) {
+ errno: 'ECONNREFUSED',
+ code: 'ECONNREFUSED',
+ syscall: 'connect',
+ address: '127.0.0.1',
+ port: 6379
+}
+2020-04-27 21:55:04,744 ERROR 56936 nodejs.ECONNREFUSEDError: connect ECONNREFUSED 127.0.0.1:6379
+ at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1137:16)
+errno: "ECONNREFUSED"
+code: "ECONNREFUSED"
+syscall: "connect"
+address: "127.0.0.1"
+port: 6379
+name: "ECONNREFUSEDError"
+pid: 56936
+hostname: 192.168.0.103
+
+2020-04-27 21:55:05,446 INFO 56936 [egg-redis] client connect success
diff --git a/server/logs/game-node-center/egg-schedule.log b/server/logs/game-node-center/egg-schedule.log
index f8a0a8e..1ac76c3 100644
--- a/server/logs/game-node-center/egg-schedule.log
+++ b/server/logs/game-node-center/egg-schedule.log
@@ -49,3 +49,30 @@
2020-04-23 21:20:11,786 INFO 52898 [egg-schedule]: register schedule /Users/jorky/code/TexasPokerGame/server/node_modules/egg-multipart/app/schedule/clean_tmpdir.js
2020-04-23 21:20:11,786 INFO 52898 [egg-schedule]: register schedule /Users/jorky/code/TexasPokerGame/server/node_modules/egg-logrotator/app/schedule/clean_log.js
2020-04-23 21:20:11,786 INFO 52898 [egg-schedule]: register schedule /Users/jorky/code/TexasPokerGame/server/node_modules/egg-logrotator/app/schedule/rotate_by_file.js
+2020-04-27 21:20:53,905 INFO 56753 [Timer] /Users/jorky/code/TexasPokerGame/server/node_modules/egg-multipart/app/schedule/clean_tmpdir.js next time will execute after 25746097ms at 2020-04-28 04:30:00.002
+2020-04-27 21:20:53,905 INFO 56753 [Timer] /Users/jorky/code/TexasPokerGame/server/node_modules/egg-logrotator/app/schedule/clean_log.js next time will execute after 9546095ms at 2020-04-28 00:00:00.000
+2020-04-27 21:20:53,905 INFO 56753 [Timer] /Users/jorky/code/TexasPokerGame/server/node_modules/egg-logrotator/app/schedule/rotate_by_file.js next time will execute after 9547095ms at 2020-04-28 00:00:01.000
+2020-04-27 21:20:53,385 INFO 56754 [egg-schedule]: register schedule /Users/jorky/code/TexasPokerGame/server/node_modules/egg-multipart/app/schedule/clean_tmpdir.js
+2020-04-27 21:20:53,385 INFO 56754 [egg-schedule]: register schedule /Users/jorky/code/TexasPokerGame/server/node_modules/egg-logrotator/app/schedule/clean_log.js
+2020-04-27 21:20:53,385 INFO 56754 [egg-schedule]: register schedule /Users/jorky/code/TexasPokerGame/server/node_modules/egg-logrotator/app/schedule/rotate_by_file.js
+2020-04-27 21:38:33,652 INFO 56817 [egg-schedule]: register schedule /Users/jorky/code/TexasPokerGame/server/node_modules/egg-multipart/app/schedule/clean_tmpdir.js
+2020-04-27 21:38:33,652 INFO 56817 [egg-schedule]: register schedule /Users/jorky/code/TexasPokerGame/server/node_modules/egg-logrotator/app/schedule/clean_log.js
+2020-04-27 21:38:33,652 INFO 56817 [egg-schedule]: register schedule /Users/jorky/code/TexasPokerGame/server/node_modules/egg-logrotator/app/schedule/rotate_by_file.js
+2020-04-27 21:44:57,443 INFO 56871 [Timer] /Users/jorky/code/TexasPokerGame/server/node_modules/egg-multipart/app/schedule/clean_tmpdir.js next time will execute after 24302559ms at 2020-04-28 04:30:00.002
+2020-04-27 21:44:57,443 INFO 56871 [Timer] /Users/jorky/code/TexasPokerGame/server/node_modules/egg-logrotator/app/schedule/clean_log.js next time will execute after 8102557ms at 2020-04-28 00:00:00.000
+2020-04-27 21:44:57,443 INFO 56871 [Timer] /Users/jorky/code/TexasPokerGame/server/node_modules/egg-logrotator/app/schedule/rotate_by_file.js next time will execute after 8103557ms at 2020-04-28 00:00:01.000
+2020-04-27 21:44:56,920 INFO 56872 [egg-schedule]: register schedule /Users/jorky/code/TexasPokerGame/server/node_modules/egg-multipart/app/schedule/clean_tmpdir.js
+2020-04-27 21:44:56,921 INFO 56872 [egg-schedule]: register schedule /Users/jorky/code/TexasPokerGame/server/node_modules/egg-logrotator/app/schedule/clean_log.js
+2020-04-27 21:44:56,921 INFO 56872 [egg-schedule]: register schedule /Users/jorky/code/TexasPokerGame/server/node_modules/egg-logrotator/app/schedule/rotate_by_file.js
+2020-04-27 21:49:55,184 INFO 56908 [egg-schedule]: register schedule /Users/jorky/code/TexasPokerGame/server/node_modules/egg-multipart/app/schedule/clean_tmpdir.js
+2020-04-27 21:49:55,184 INFO 56908 [egg-schedule]: register schedule /Users/jorky/code/TexasPokerGame/server/node_modules/egg-logrotator/app/schedule/clean_log.js
+2020-04-27 21:49:55,184 INFO 56908 [egg-schedule]: register schedule /Users/jorky/code/TexasPokerGame/server/node_modules/egg-logrotator/app/schedule/rotate_by_file.js
+2020-04-27 21:49:55,765 INFO 56907 [Timer] /Users/jorky/code/TexasPokerGame/server/node_modules/egg-multipart/app/schedule/clean_tmpdir.js next time will execute after 24004237ms at 2020-04-28 04:30:00.002
+2020-04-27 21:49:55,765 INFO 56907 [Timer] /Users/jorky/code/TexasPokerGame/server/node_modules/egg-logrotator/app/schedule/clean_log.js next time will execute after 7804235ms at 2020-04-28 00:00:00.000
+2020-04-27 21:49:55,765 INFO 56907 [Timer] /Users/jorky/code/TexasPokerGame/server/node_modules/egg-logrotator/app/schedule/rotate_by_file.js next time will execute after 7805235ms at 2020-04-28 00:00:01.000
+2020-04-27 21:51:04,964 INFO 56936 [egg-schedule]: register schedule /Users/jorky/code/TexasPokerGame/server/node_modules/egg-multipart/app/schedule/clean_tmpdir.js
+2020-04-27 21:51:04,964 INFO 56936 [egg-schedule]: register schedule /Users/jorky/code/TexasPokerGame/server/node_modules/egg-logrotator/app/schedule/clean_log.js
+2020-04-27 21:51:04,964 INFO 56936 [egg-schedule]: register schedule /Users/jorky/code/TexasPokerGame/server/node_modules/egg-logrotator/app/schedule/rotate_by_file.js
+2020-04-27 21:51:05,357 INFO 56935 [Timer] /Users/jorky/code/TexasPokerGame/server/node_modules/egg-multipart/app/schedule/clean_tmpdir.js next time will execute after 23934645ms at 2020-04-28 04:30:00.002
+2020-04-27 21:51:05,357 INFO 56935 [Timer] /Users/jorky/code/TexasPokerGame/server/node_modules/egg-logrotator/app/schedule/clean_log.js next time will execute after 7734643ms at 2020-04-28 00:00:00.000
+2020-04-27 21:51:05,358 INFO 56935 [Timer] /Users/jorky/code/TexasPokerGame/server/node_modules/egg-logrotator/app/schedule/rotate_by_file.js next time will execute after 7735643ms at 2020-04-28 00:00:01.001
diff --git a/server/logs/game-node-center/error.log b/server/logs/game-node-center/error.log
index e962644..46ba8b8 100644
--- a/server/logs/game-node-center/error.log
+++ b/server/logs/game-node-center/error.log
@@ -69,3 +69,477 @@ name: "ClusterClientNoResponseError"
pid: 52895
hostname: 192.168.0.101
+2020-04-27 21:44:12,689 ERROR 56817 nodejs.TypeError: Cannot read property '0' of undefined (uncaughtException throw 1 times on pid:56817)
+ at /Users/jorky/code/TexasPokerGame/server/src/app/io/controller/game.ts:85:69
+ at processTicksAndRejections (internal/process/task_queues.js:79:11)
+
+pid: 56817
+hostname: 192.168.0.103
+
+2020-04-27 21:55:00,190 ERROR 56936 [egg-redis] client error: Error: connect ECONNREFUSED 127.0.0.1:6379
+ at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1137:16) {
+ errno: 'ECONNREFUSED',
+ code: 'ECONNREFUSED',
+ syscall: 'connect',
+ address: '127.0.0.1',
+ port: 6379
+}
+2020-04-27 21:55:00,193 ERROR 56936 nodejs.ECONNREFUSEDError: connect ECONNREFUSED 127.0.0.1:6379
+ at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1137:16)
+errno: "ECONNREFUSED"
+code: "ECONNREFUSED"
+syscall: "connect"
+address: "127.0.0.1"
+port: 6379
+name: "ECONNREFUSEDError"
+pid: 56936
+hostname: 192.168.0.103
+
+2020-04-27 21:55:00,296 ERROR 56936 [egg-redis] client error: Error: connect ECONNREFUSED 127.0.0.1:6379
+ at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1137:16) {
+ errno: 'ECONNREFUSED',
+ code: 'ECONNREFUSED',
+ syscall: 'connect',
+ address: '127.0.0.1',
+ port: 6379
+}
+2020-04-27 21:55:00,296 ERROR 56936 nodejs.ECONNREFUSEDError: connect ECONNREFUSED 127.0.0.1:6379
+ at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1137:16)
+errno: "ECONNREFUSED"
+code: "ECONNREFUSED"
+syscall: "connect"
+address: "127.0.0.1"
+port: 6379
+name: "ECONNREFUSEDError"
+pid: 56936
+hostname: 192.168.0.103
+
+2020-04-27 21:55:00,331 ERROR 56936 nodejs.ECONNREFUSEDError: Redis connection to 127.0.0.1:6379 failed - connect ECONNREFUSED 127.0.0.1:6379
+ at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1137:16)
+errno: "ECONNREFUSED"
+code: "ECONNREFUSED"
+syscall: "connect"
+address: "127.0.0.1"
+port: 6379
+name: "ECONNREFUSEDError"
+pid: 56936
+hostname: 192.168.0.103
+
+2020-04-27 21:55:00,331 ERROR 56936 nodejs.ECONNREFUSEDError: Redis connection to 127.0.0.1:6379 failed - connect ECONNREFUSED 127.0.0.1:6379
+ at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1137:16)
+errno: "ECONNREFUSED"
+code: "ECONNREFUSED"
+syscall: "connect"
+address: "127.0.0.1"
+port: 6379
+name: "ECONNREFUSEDError"
+pid: 56936
+hostname: 192.168.0.103
+
+2020-04-27 21:55:00,333 ERROR 56936 nodejs.ECONNREFUSEDError: Redis connection to 127.0.0.1:6379 failed - connect ECONNREFUSED 127.0.0.1:6379
+ at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1137:16)
+errno: "ECONNREFUSED"
+code: "ECONNREFUSED"
+syscall: "connect"
+address: "127.0.0.1"
+port: 6379
+name: "ECONNREFUSEDError"
+pid: 56936
+hostname: 192.168.0.103
+
+2020-04-27 21:55:00,334 ERROR 56936 nodejs.ECONNREFUSEDError: Redis connection to 127.0.0.1:6379 failed - connect ECONNREFUSED 127.0.0.1:6379
+ at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1137:16)
+errno: "ECONNREFUSED"
+code: "ECONNREFUSED"
+syscall: "connect"
+address: "127.0.0.1"
+port: 6379
+name: "ECONNREFUSEDError"
+pid: 56936
+hostname: 192.168.0.103
+
+2020-04-27 21:55:00,450 ERROR 56936 [egg-redis] client error: Error: connect ECONNREFUSED 127.0.0.1:6379
+ at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1137:16) {
+ errno: 'ECONNREFUSED',
+ code: 'ECONNREFUSED',
+ syscall: 'connect',
+ address: '127.0.0.1',
+ port: 6379
+}
+2020-04-27 21:55:00,451 ERROR 56936 nodejs.ECONNREFUSEDError: connect ECONNREFUSED 127.0.0.1:6379
+ at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1137:16)
+errno: "ECONNREFUSED"
+code: "ECONNREFUSED"
+syscall: "connect"
+address: "127.0.0.1"
+port: 6379
+name: "ECONNREFUSEDError"
+pid: 56936
+hostname: 192.168.0.103
+
+2020-04-27 21:55:00,654 ERROR 56936 [egg-redis] client error: Error: connect ECONNREFUSED 127.0.0.1:6379
+ at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1137:16) {
+ errno: 'ECONNREFUSED',
+ code: 'ECONNREFUSED',
+ syscall: 'connect',
+ address: '127.0.0.1',
+ port: 6379
+}
+2020-04-27 21:55:00,655 ERROR 56936 nodejs.ECONNREFUSEDError: connect ECONNREFUSED 127.0.0.1:6379
+ at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1137:16)
+errno: "ECONNREFUSED"
+code: "ECONNREFUSED"
+syscall: "connect"
+address: "127.0.0.1"
+port: 6379
+name: "ECONNREFUSEDError"
+pid: 56936
+hostname: 192.168.0.103
+
+2020-04-27 21:55:00,676 ERROR 56936 nodejs.ECONNREFUSEDError: Redis connection to 127.0.0.1:6379 failed - connect ECONNREFUSED 127.0.0.1:6379
+ at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1137:16)
+errno: "ECONNREFUSED"
+code: "ECONNREFUSED"
+syscall: "connect"
+address: "127.0.0.1"
+port: 6379
+name: "ECONNREFUSEDError"
+pid: 56936
+hostname: 192.168.0.103
+
+2020-04-27 21:55:00,676 ERROR 56936 nodejs.ECONNREFUSEDError: Redis connection to 127.0.0.1:6379 failed - connect ECONNREFUSED 127.0.0.1:6379
+ at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1137:16)
+errno: "ECONNREFUSED"
+code: "ECONNREFUSED"
+syscall: "connect"
+address: "127.0.0.1"
+port: 6379
+name: "ECONNREFUSEDError"
+pid: 56936
+hostname: 192.168.0.103
+
+2020-04-27 21:55:00,677 ERROR 56936 nodejs.ECONNREFUSEDError: Redis connection to 127.0.0.1:6379 failed - connect ECONNREFUSED 127.0.0.1:6379
+ at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1137:16)
+errno: "ECONNREFUSED"
+code: "ECONNREFUSED"
+syscall: "connect"
+address: "127.0.0.1"
+port: 6379
+name: "ECONNREFUSEDError"
+pid: 56936
+hostname: 192.168.0.103
+
+2020-04-27 21:55:00,677 ERROR 56936 nodejs.ECONNREFUSEDError: Redis connection to 127.0.0.1:6379 failed - connect ECONNREFUSED 127.0.0.1:6379
+ at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1137:16)
+errno: "ECONNREFUSED"
+code: "ECONNREFUSED"
+syscall: "connect"
+address: "127.0.0.1"
+port: 6379
+name: "ECONNREFUSEDError"
+pid: 56936
+hostname: 192.168.0.103
+
+2020-04-27 21:55:00,908 ERROR 56936 [egg-redis] client error: Error: connect ECONNREFUSED 127.0.0.1:6379
+ at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1137:16) {
+ errno: 'ECONNREFUSED',
+ code: 'ECONNREFUSED',
+ syscall: 'connect',
+ address: '127.0.0.1',
+ port: 6379
+}
+2020-04-27 21:55:00,908 ERROR 56936 nodejs.ECONNREFUSEDError: connect ECONNREFUSED 127.0.0.1:6379
+ at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1137:16)
+errno: "ECONNREFUSED"
+code: "ECONNREFUSED"
+syscall: "connect"
+address: "127.0.0.1"
+port: 6379
+name: "ECONNREFUSEDError"
+pid: 56936
+hostname: 192.168.0.103
+
+2020-04-27 21:55:01,212 ERROR 56936 [egg-redis] client error: Error: connect ECONNREFUSED 127.0.0.1:6379
+ at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1137:16) {
+ errno: 'ECONNREFUSED',
+ code: 'ECONNREFUSED',
+ syscall: 'connect',
+ address: '127.0.0.1',
+ port: 6379
+}
+2020-04-27 21:55:01,212 ERROR 56936 nodejs.ECONNREFUSEDError: connect ECONNREFUSED 127.0.0.1:6379
+ at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1137:16)
+errno: "ECONNREFUSED"
+code: "ECONNREFUSED"
+syscall: "connect"
+address: "127.0.0.1"
+port: 6379
+name: "ECONNREFUSEDError"
+pid: 56936
+hostname: 192.168.0.103
+
+2020-04-27 21:55:01,257 ERROR 56936 nodejs.ECONNREFUSEDError: Redis connection to 127.0.0.1:6379 failed - connect ECONNREFUSED 127.0.0.1:6379
+ at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1137:16)
+errno: "ECONNREFUSED"
+code: "ECONNREFUSED"
+syscall: "connect"
+address: "127.0.0.1"
+port: 6379
+name: "ECONNREFUSEDError"
+pid: 56936
+hostname: 192.168.0.103
+
+2020-04-27 21:55:01,258 ERROR 56936 nodejs.ECONNREFUSEDError: Redis connection to 127.0.0.1:6379 failed - connect ECONNREFUSED 127.0.0.1:6379
+ at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1137:16)
+errno: "ECONNREFUSED"
+code: "ECONNREFUSED"
+syscall: "connect"
+address: "127.0.0.1"
+port: 6379
+name: "ECONNREFUSEDError"
+pid: 56936
+hostname: 192.168.0.103
+
+2020-04-27 21:55:01,258 ERROR 56936 nodejs.ECONNREFUSEDError: Redis connection to 127.0.0.1:6379 failed - connect ECONNREFUSED 127.0.0.1:6379
+ at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1137:16)
+errno: "ECONNREFUSED"
+code: "ECONNREFUSED"
+syscall: "connect"
+address: "127.0.0.1"
+port: 6379
+name: "ECONNREFUSEDError"
+pid: 56936
+hostname: 192.168.0.103
+
+2020-04-27 21:55:01,258 ERROR 56936 nodejs.ECONNREFUSEDError: Redis connection to 127.0.0.1:6379 failed - connect ECONNREFUSED 127.0.0.1:6379
+ at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1137:16)
+errno: "ECONNREFUSED"
+code: "ECONNREFUSED"
+syscall: "connect"
+address: "127.0.0.1"
+port: 6379
+name: "ECONNREFUSEDError"
+pid: 56936
+hostname: 192.168.0.103
+
+2020-04-27 21:55:01,568 ERROR 56936 [egg-redis] client error: Error: connect ECONNREFUSED 127.0.0.1:6379
+ at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1137:16) {
+ errno: 'ECONNREFUSED',
+ code: 'ECONNREFUSED',
+ syscall: 'connect',
+ address: '127.0.0.1',
+ port: 6379
+}
+2020-04-27 21:55:01,569 ERROR 56936 nodejs.ECONNREFUSEDError: connect ECONNREFUSED 127.0.0.1:6379
+ at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1137:16)
+errno: "ECONNREFUSED"
+code: "ECONNREFUSED"
+syscall: "connect"
+address: "127.0.0.1"
+port: 6379
+name: "ECONNREFUSEDError"
+pid: 56936
+hostname: 192.168.0.103
+
+2020-04-27 21:55:01,973 ERROR 56936 [egg-redis] client error: Error: connect ECONNREFUSED 127.0.0.1:6379
+ at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1137:16) {
+ errno: 'ECONNREFUSED',
+ code: 'ECONNREFUSED',
+ syscall: 'connect',
+ address: '127.0.0.1',
+ port: 6379
+}
+2020-04-27 21:55:01,974 ERROR 56936 nodejs.ECONNREFUSEDError: connect ECONNREFUSED 127.0.0.1:6379
+ at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1137:16)
+errno: "ECONNREFUSED"
+code: "ECONNREFUSED"
+syscall: "connect"
+address: "127.0.0.1"
+port: 6379
+name: "ECONNREFUSEDError"
+pid: 56936
+hostname: 192.168.0.103
+
+2020-04-27 21:55:02,242 ERROR 56936 nodejs.ECONNREFUSEDError: Redis connection to 127.0.0.1:6379 failed - connect ECONNREFUSED 127.0.0.1:6379
+ at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1137:16)
+errno: "ECONNREFUSED"
+code: "ECONNREFUSED"
+syscall: "connect"
+address: "127.0.0.1"
+port: 6379
+name: "ECONNREFUSEDError"
+pid: 56936
+hostname: 192.168.0.103
+
+2020-04-27 21:55:02,242 ERROR 56936 nodejs.ECONNREFUSEDError: Redis connection to 127.0.0.1:6379 failed - connect ECONNREFUSED 127.0.0.1:6379
+ at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1137:16)
+errno: "ECONNREFUSED"
+code: "ECONNREFUSED"
+syscall: "connect"
+address: "127.0.0.1"
+port: 6379
+name: "ECONNREFUSEDError"
+pid: 56936
+hostname: 192.168.0.103
+
+2020-04-27 21:55:02,243 ERROR 56936 nodejs.ECONNREFUSEDError: Redis connection to 127.0.0.1:6379 failed - connect ECONNREFUSED 127.0.0.1:6379
+ at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1137:16)
+errno: "ECONNREFUSED"
+code: "ECONNREFUSED"
+syscall: "connect"
+address: "127.0.0.1"
+port: 6379
+name: "ECONNREFUSEDError"
+pid: 56936
+hostname: 192.168.0.103
+
+2020-04-27 21:55:02,243 ERROR 56936 nodejs.ECONNREFUSEDError: Redis connection to 127.0.0.1:6379 failed - connect ECONNREFUSED 127.0.0.1:6379
+ at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1137:16)
+errno: "ECONNREFUSED"
+code: "ECONNREFUSED"
+syscall: "connect"
+address: "127.0.0.1"
+port: 6379
+name: "ECONNREFUSEDError"
+pid: 56936
+hostname: 192.168.0.103
+
+2020-04-27 21:55:02,426 ERROR 56936 [egg-redis] client error: Error: connect ECONNREFUSED 127.0.0.1:6379
+ at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1137:16) {
+ errno: 'ECONNREFUSED',
+ code: 'ECONNREFUSED',
+ syscall: 'connect',
+ address: '127.0.0.1',
+ port: 6379
+}
+2020-04-27 21:55:02,428 ERROR 56936 nodejs.ECONNREFUSEDError: connect ECONNREFUSED 127.0.0.1:6379
+ at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1137:16)
+errno: "ECONNREFUSED"
+code: "ECONNREFUSED"
+syscall: "connect"
+address: "127.0.0.1"
+port: 6379
+name: "ECONNREFUSEDError"
+pid: 56936
+hostname: 192.168.0.103
+
+2020-04-27 21:55:02,934 ERROR 56936 [egg-redis] client error: Error: connect ECONNREFUSED 127.0.0.1:6379
+ at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1137:16) {
+ errno: 'ECONNREFUSED',
+ code: 'ECONNREFUSED',
+ syscall: 'connect',
+ address: '127.0.0.1',
+ port: 6379
+}
+2020-04-27 21:55:02,935 ERROR 56936 nodejs.ECONNREFUSEDError: connect ECONNREFUSED 127.0.0.1:6379
+ at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1137:16)
+errno: "ECONNREFUSED"
+code: "ECONNREFUSED"
+syscall: "connect"
+address: "127.0.0.1"
+port: 6379
+name: "ECONNREFUSEDError"
+pid: 56936
+hostname: 192.168.0.103
+
+2020-04-27 21:55:03,487 ERROR 56936 [egg-redis] client error: Error: connect ECONNREFUSED 127.0.0.1:6379
+ at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1137:16) {
+ errno: 'ECONNREFUSED',
+ code: 'ECONNREFUSED',
+ syscall: 'connect',
+ address: '127.0.0.1',
+ port: 6379
+}
+2020-04-27 21:55:03,487 ERROR 56936 nodejs.ECONNREFUSEDError: connect ECONNREFUSED 127.0.0.1:6379
+ at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1137:16)
+errno: "ECONNREFUSED"
+code: "ECONNREFUSED"
+syscall: "connect"
+address: "127.0.0.1"
+port: 6379
+name: "ECONNREFUSEDError"
+pid: 56936
+hostname: 192.168.0.103
+
+2020-04-27 21:55:03,920 ERROR 56936 nodejs.ECONNREFUSEDError: Redis connection to 127.0.0.1:6379 failed - connect ECONNREFUSED 127.0.0.1:6379
+ at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1137:16)
+errno: "ECONNREFUSED"
+code: "ECONNREFUSED"
+syscall: "connect"
+address: "127.0.0.1"
+port: 6379
+name: "ECONNREFUSEDError"
+pid: 56936
+hostname: 192.168.0.103
+
+2020-04-27 21:55:03,921 ERROR 56936 nodejs.ECONNREFUSEDError: Redis connection to 127.0.0.1:6379 failed - connect ECONNREFUSED 127.0.0.1:6379
+ at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1137:16)
+errno: "ECONNREFUSED"
+code: "ECONNREFUSED"
+syscall: "connect"
+address: "127.0.0.1"
+port: 6379
+name: "ECONNREFUSEDError"
+pid: 56936
+hostname: 192.168.0.103
+
+2020-04-27 21:55:03,922 ERROR 56936 nodejs.ECONNREFUSEDError: Redis connection to 127.0.0.1:6379 failed - connect ECONNREFUSED 127.0.0.1:6379
+ at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1137:16)
+errno: "ECONNREFUSED"
+code: "ECONNREFUSED"
+syscall: "connect"
+address: "127.0.0.1"
+port: 6379
+name: "ECONNREFUSEDError"
+pid: 56936
+hostname: 192.168.0.103
+
+2020-04-27 21:55:03,922 ERROR 56936 nodejs.ECONNREFUSEDError: Redis connection to 127.0.0.1:6379 failed - connect ECONNREFUSED 127.0.0.1:6379
+ at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1137:16)
+errno: "ECONNREFUSED"
+code: "ECONNREFUSED"
+syscall: "connect"
+address: "127.0.0.1"
+port: 6379
+name: "ECONNREFUSEDError"
+pid: 56936
+hostname: 192.168.0.103
+
+2020-04-27 21:55:04,090 ERROR 56936 [egg-redis] client error: Error: connect ECONNREFUSED 127.0.0.1:6379
+ at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1137:16) {
+ errno: 'ECONNREFUSED',
+ code: 'ECONNREFUSED',
+ syscall: 'connect',
+ address: '127.0.0.1',
+ port: 6379
+}
+2020-04-27 21:55:04,090 ERROR 56936 nodejs.ECONNREFUSEDError: connect ECONNREFUSED 127.0.0.1:6379
+ at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1137:16)
+errno: "ECONNREFUSED"
+code: "ECONNREFUSED"
+syscall: "connect"
+address: "127.0.0.1"
+port: 6379
+name: "ECONNREFUSEDError"
+pid: 56936
+hostname: 192.168.0.103
+
+2020-04-27 21:55:04,743 ERROR 56936 [egg-redis] client error: Error: connect ECONNREFUSED 127.0.0.1:6379
+ at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1137:16) {
+ errno: 'ECONNREFUSED',
+ code: 'ECONNREFUSED',
+ syscall: 'connect',
+ address: '127.0.0.1',
+ port: 6379
+}
+2020-04-27 21:55:04,743 ERROR 56936 nodejs.ECONNREFUSEDError: connect ECONNREFUSED 127.0.0.1:6379
+ at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1137:16)
+errno: "ECONNREFUSED"
+code: "ECONNREFUSED"
+syscall: "connect"
+address: "127.0.0.1"
+port: 6379
+name: "ECONNREFUSEDError"
+pid: 56936
+hostname: 192.168.0.103
+
diff --git a/server/src/app/core/PokerGame.ts b/server/src/app/core/PokerGame.ts
index 9b5a7cf..5311ca2 100644
--- a/server/src/app/core/PokerGame.ts
+++ b/server/src/app/core/PokerGame.ts
@@ -11,6 +11,7 @@ interface IPokerGame {
users: IPlayer[];
smallBlind: number;
updateCommonCard: () => void;
+ gameOverCallBack: () => void;
}
export enum EGameStatus {
@@ -43,12 +44,17 @@ export class PokerGame {
allInPlayers: Player[] = [];
currActionAllinPlayer: Player[] = [];
updateCommonCard: () => void;
+ gameOverCallBack: () => void;
hasStraddle = false;
winner: Player[][] = [];
constructor(config: IPokerGame) {
this.smallBlind = config.smallBlind;
this.updateCommonCard = config.updateCommonCard;
+ this.gameOverCallBack = config.gameOverCallBack;
+ if (config.users.length < 2) {
+ throw 'player must be max than 2 ';
+ }
this.init(config.users);
}
@@ -437,5 +443,6 @@ export class PokerGame {
this.getWinner();
// todo counting
this.counting();
+ this.gameOverCallBack();
}
}
diff --git a/server/src/app/io/controller/game.ts b/server/src/app/io/controller/game.ts
index 747cb9f..9b57b72 100644
--- a/server/src/app/io/controller/game.ts
+++ b/server/src/app/io/controller/game.ts
@@ -8,9 +8,6 @@ import { IPlayer } from '../../core/Player';
class GameController extends BaseSocketController {
async playGame() {
- const { room } = this.socket.handshake.query;
- console.log('play------------', room);
- console.log('socket------------', this.socket.id);
try {
// const gameRecord: IGameRecord = {
// game_id: 0,
@@ -21,43 +18,21 @@ class GameController extends BaseSocketController {
// };
// await this.gameRecordService.add(gameRecord);
const roomInfo = await this.getRoomInfo();
+ if (roomInfo.players.length < 2) {
+ throw 'player not enough';
+ }
+
if (!roomInfo.game) {
roomInfo.game = new PokerGame({
users: roomInfo.players,
smallBlind: 1,
updateCommonCard: () => {
- // game over
if (roomInfo.game) {
+ console.log('come in', roomInfo.game.status);
if (roomInfo.game.status < 6) {
roomInfo.game.startActionRound();
roomInfo.game.sendCard();
- } else {
- roomInfo.game.allPlayer.forEach(gamePlayer => {
- const player = roomInfo.players.find(
- (p: IPlayer) => p.nickName === gamePlayer.nickName);
- if (player) {
- player.counter = gamePlayer.counter;
- }
- });
- console.log('game over-------------');
- console.log(roomInfo.game.commonCard);
- console.log(roomInfo.game.pot);
- console.log(roomInfo.players, '=============players');
- console.log(roomInfo.game.getPlayers());
- console.log(roomInfo.game.winner);
- // new game
- setTimeout(() => {
- if (roomInfo.players.length >= 2) {
- const player = roomInfo.players.shift();
- if (player) {
- roomInfo.players.push(player);
- }
- roomInfo.game = null;
- this.playGame();
- }
- }, 100000);
}
- console.log('send common card', roomInfo.game.status);
this.nsp.adapter.clients([ this.roomNumber ],
(err: any, clients: any) => {
if (roomInfo.game) {
@@ -74,6 +49,56 @@ class GameController extends BaseSocketController {
});
}
},
+ gameOverCallBack: () => {
+ if (roomInfo.game) {
+ // game over
+ roomInfo.game.allPlayer.forEach(gamePlayer => {
+ const player = roomInfo.players.find(
+ (p: IPlayer) => p.nickName === gamePlayer.nickName);
+ if (player) {
+ player.counter = gamePlayer.counter;
+ }
+ });
+ console.log('game over-------------');
+ console.log(roomInfo.game.commonCard);
+ console.log(roomInfo.game.pot);
+ console.log(roomInfo.players, '=============players');
+ console.log(roomInfo.game.getPlayers());
+ console.log(roomInfo.game.winner);
+ // new game
+ setTimeout(() => {
+ if (roomInfo.players.length >= 2) {
+ const player = roomInfo.players.shift();
+ if (player) {
+ roomInfo.players.push(player);
+ }
+ roomInfo.game = null;
+ this.playGame();
+ }
+ }, 100000);
+ }
+ this.nsp.adapter.clients([ this.roomNumber ],
+ (err: any, clients: any) => {
+ if (roomInfo.game) {
+ // game over show winner
+ if (roomInfo.game.status === 7) {
+ let winner: any = [[{ ...roomInfo.game.winner[0][0], handCard: [] }]];
+ // only player, other fold
+ if (roomInfo.game.getPlayers().length !== 1) {
+ winner = roomInfo.game.winner;
+ }
+ this.nsp.to(this.roomNumber).emit('online', {
+ clients,
+ action: 'gameOver',
+ target: 'participator',
+ data: {
+ winner,
+ },
+ });
+ }
+ }
+ });
+ },
});
roomInfo.game.play();
roomInfo.game.startActionRound();
diff --git a/server/src/app/io/middleware/join.ts b/server/src/app/io/middleware/join.ts
index 8ee308b..3fc380c 100644
--- a/server/src/app/io/middleware/join.ts
+++ b/server/src/app/io/middleware/join.ts
@@ -32,6 +32,8 @@ export default function join(): any {
try {
const hasRoom = nsp.gameRooms.find((r: IGameRoom) => r.number === room);
const { user } = await app.jwt.verify(token);
+ socket.join(room);
+ await socket.emit(id, ctx.helper.parseMsg('userInfo', user));
const player = {
...user,
socketId: id,
@@ -51,11 +53,13 @@ export default function join(): any {
players: [ player ],
game: null,
};
+ updatePlayer(room, gameRoom.roomInfo.players, 'players', nsp);
} else {
gameRoom = nsp.gameRooms.find((r: IGameRoom) => r.number === room);
const findPlayer = gameRoom.roomInfo.players.find((p: IPlayer) => p.account === user.account);
if (!findPlayer) {
gameRoom.roomInfo.players.push(player);
+ updatePlayer(room, gameRoom.roomInfo.players, 'players', nsp);
} else {
findPlayer.socketId = id;
// in the game, update hand cards
@@ -65,15 +69,34 @@ export default function join(): any {
handCard: gamePlayer.getHandCard(),
}, { client: id });
socket.emit(id, msg);
+ if (gameRoom.roomInfo && gameRoom.roomInfo.game) {
+ const roomInfo = gameRoom.roomInfo;
+ const gameInfo = {
+ players: gameRoom.roomInfo.game.allPlayer.map(p => Object.assign({}, {
+ counter: p.counter,
+ actionSize: p.actionSize,
+ nickName: p.nickName,
+ type: p.type,
+ userId: p.userId,
+ }, {})),
+ pot: roomInfo.game?.pot,
+ prevSize: roomInfo.game?.prevSize,
+ currPlayer: {
+ userId: roomInfo.game?.currPlayer.node.userId,
+ },
+ };
+ const game = ctx.helper.parseMsg('gameInfo', {
+ data: gameInfo,
+ }, { client: id });
+ socket.emit(id, game);
+ }
+ } else {
+ updatePlayer(room, gameRoom.roomInfo.players, 'players', nsp);
}
}
}
- socket.join(room);
- socket.emit(id, ctx.helper.parseMsg('userInfo', user));
-
// console.log('players', JSON.stringify(gameRoom.roomInfo.players));
updatePlayer(room, `User(${user.nickName}) joined.`, 'join', nsp);
- updatePlayer(room, gameRoom.roomInfo.players, 'players', nsp);
await next();
} catch (e) {
throw e;
diff --git a/server/src/lib/baseSocketController.ts b/server/src/lib/baseSocketController.ts
index cb86cb3..193687a 100644
--- a/server/src/lib/baseSocketController.ts
+++ b/server/src/lib/baseSocketController.ts
@@ -28,7 +28,7 @@ export default class BaseSocketController extends Controller {
async updateGameInfo() {
const roomInfo = await this.getRoomInfo();
this.nsp.adapter.clients([ this.roomNumber ], (err: any, clients: any) => {
- if (roomInfo.game) {
+ if (roomInfo.game && roomInfo.game.status < 6) {
roomInfo.players.forEach(p => {
const currPlayer = roomInfo.game &&
roomInfo.game.allPlayer.find(player => player.userId === p.userId);