diff --git a/game_web/.idea/.gitignore b/game_web/.idea/.gitignore
new file mode 100644
index 0000000..e69de29
diff --git a/game_web/.idea/modules.xml b/game_web/.idea/modules.xml
new file mode 100644
index 0000000..4a6f619
--- /dev/null
+++ b/game_web/.idea/modules.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/game_web/.idea/runConfigurations.xml b/game_web/.idea/runConfigurations.xml
new file mode 100644
index 0000000..797acea
--- /dev/null
+++ b/game_web/.idea/runConfigurations.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/game_web/.idea/vcs.xml b/game_web/.idea/vcs.xml
new file mode 100644
index 0000000..6c0b863
--- /dev/null
+++ b/game_web/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/game_web/.idea/workspace.xml b/game_web/.idea/workspace.xml
new file mode 100644
index 0000000..3b15877
--- /dev/null
+++ b/game_web/.idea/workspace.xml
@@ -0,0 +1,367 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1749709772015
+
+
+ 1749709772015
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/game_web/web_group/target/test-classes/etty-contexts.xml b/game_web/web_group/target/test-classes/etty-contexts.xml
new file mode 100644
index 0000000..e8c1814
--- /dev/null
+++ b/game_web/web_group/target/test-classes/etty-contexts.xml
@@ -0,0 +1,9 @@
+
+
+
+
+ org.eclipse.jetty.server.webapp.WebInfIncludeJarPattern
+ .*/.*jsp-api-[^/]\.jar$|./.*jsp-[^/]\.jar$|./.*taglibs[^/]*\.jar$
+
+
+
\ No newline at end of file
diff --git a/libs/game_common/src/main/java/com/game/player/state/PlayerInitState.java b/libs/game_common/src/main/java/com/game/player/state/PlayerInitState.java
new file mode 100644
index 0000000..319dc05
--- /dev/null
+++ b/libs/game_common/src/main/java/com/game/player/state/PlayerInitState.java
@@ -0,0 +1,47 @@
+package com.game.player.state;
+
+import com.game.ActionEvent;
+import com.game.Global;
+import com.game.data.Player;
+import com.game.state.StateBase;
+
+/**
+ * 玩家进房间的初始状态
+ *
+ *
+ */
+public class PlayerInitState extends StateBase {
+
+ @Override
+ public void enter(Player owner) {
+ if(owner.room.round==0&&owner.room.kickTime>0) {
+ owner.startActionTimer(owner.room.kickTime * 1000);
+ }
+ }
+
+ @Override
+ public void exit(Player owner) {
+ owner.stopActionTimer();
+ }
+
+ @Override
+ public void execute(Player owner, String cmd, int gid, Object param) {
+ switch (cmd) {
+ case ActionEvent.EVENT_READY:
+ Global.gameCtr.ready(owner);
+ break;
+ case ActionEvent.EVENT_READY_AND_XIPAI:
+ Global.gameCtr.readyAndXipai(owner);
+ break;
+ case ActionEvent.EVENT_EXIT_ROOM:
+ if(owner.room.round>0)return;
+ Global.gameCtr.exitRoom(owner, gid,false);
+ break;
+ case ActionEvent.EVENT_TIMER_AUTO:
+ if(owner.room.round>0)return;
+ Global.gameCtr.exitRoom(owner, gid,true);
+ break;
+ }
+ }
+
+}
diff --git a/libs/taurus-server/taurus-permanent/target/classes/config/taurus-permanent.xml b/libs/taurus-server/taurus-permanent/target/classes/config/taurus-permanent.xml
new file mode 100644
index 0000000..66780a2
--- /dev/null
+++ b/libs/taurus-server/taurus-permanent/target/classes/config/taurus-permanent.xml
@@ -0,0 +1,75 @@
+
+
+ 2
+
+ 100
+
+ Heap
+
+ Heap
+
+ 524288
+
+ 1024
+
+ 32768
+
+ 160
+
+
+ 2
+ 3
+ 10
+
+
+ true
+
+ 15
+
+
+
+
+
+
+
+
+
+ 1.2.3.4
+
+
+ 127.0.0.1
+
+ 10000
+
+
+
+ false
+ 0.0.0.0
+ 8080
+
+
+
+
+ extension - test
+ extend.pk.EXMainServer
+
+
+
+
+ Sys
+ 4
+ 16
+ 60000
+ 20000
+
+
+
+
+ Ext
+ 4
+ 16
+ 60000
+ 20000
+
+
+
\ No newline at end of file
diff --git a/libs/taurus-server/taurus-permanent/target/classes/game-config.xml b/libs/taurus-server/taurus-permanent/target/classes/game-config.xml
new file mode 100644
index 0000000..6ab3871
--- /dev/null
+++ b/libs/taurus-server/taurus-permanent/target/classes/game-config.xml
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 192.168.1.5
+ 192.168.1.5
+ 8890
+ 8490
+ 90
+ true
+
\ No newline at end of file
diff --git a/libs/taurus-server/taurus-permanent/target/classes/log4j.properties b/libs/taurus-server/taurus-permanent/target/classes/log4j.properties
new file mode 100644
index 0000000..6786dba
--- /dev/null
+++ b/libs/taurus-server/taurus-permanent/target/classes/log4j.properties
@@ -0,0 +1,20 @@
+
+log4j.rootLogger = INFO,consoleAppender,fileAppender
+
+# ConsoleAppender
+log4j.appender.consoleAppender=org.apache.log4j.ConsoleAppender
+log4j.appender.consoleAppender.layout=org.apache.log4j.PatternLayout
+log4j.appender.consoleAppender.layout.ConversionPattern=%d{HH:mm:ss,SSS} %-5p [%t] %c{2} %3x - %m%n
+
+
+# Regular FileAppender
+log4j.appender.fileAppender=org.apache.log4j.DailyRollingFileAppender
+log4j.appender.fileAppender.layout=org.apache.log4j.PatternLayout
+log4j.appender.fileAppender.File=${WORKDIR}/logs/web_main.log
+log4j.appender.fileAppender.layout.ConversionPattern=%d{dd MMM yyyy | HH:mm:ss,SSS} | %-5p | %t | %c{3} | %3x | %m%n
+log4j.appender.fileAppender.Encoding=UTF-8
+log4j.appender.fileAppender.DatePattern='.'yyyy-MM-dd
+log4j.appender.dailyFile.Append=true
+
+# The file is rolled over very day
+log4j.appender.fileAppender.DatePattern ='.'yyyy-MM-dd
\ No newline at end of file
diff --git a/libs/taurus-server/taurus-permanent/target/classes/taurus-core.xml b/libs/taurus-server/taurus-permanent/target/classes/taurus-core.xml
new file mode 100644
index 0000000..6e548c0
--- /dev/null
+++ b/libs/taurus-server/taurus-permanent/target/classes/taurus-core.xml
@@ -0,0 +1,51 @@
+
+
+ log4j.properties
+
+
+ redis
+ com.taurus.core.plugin.redis.RedisPlugin
+
+
+
+ 80
+
+ 20
+
+ 5
+
+ -1
+
+ true
+
+ true
+
+ true
+
+ 100
+
+ 60000
+
+ 30000
+
+ 1800000
+
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/libs/taurus-server/taurus-permanent/target/classes/taurus-permanent.xml b/libs/taurus-server/taurus-permanent/target/classes/taurus-permanent.xml
new file mode 100644
index 0000000..66780a2
--- /dev/null
+++ b/libs/taurus-server/taurus-permanent/target/classes/taurus-permanent.xml
@@ -0,0 +1,75 @@
+
+
+ 2
+
+ 100
+
+ Heap
+
+ Heap
+
+ 524288
+
+ 1024
+
+ 32768
+
+ 160
+
+
+ 2
+ 3
+ 10
+
+
+ true
+
+ 15
+
+
+
+
+
+
+
+
+
+ 1.2.3.4
+
+
+ 127.0.0.1
+
+ 10000
+
+
+
+ false
+ 0.0.0.0
+ 8080
+
+
+
+
+ extension - test
+ extend.pk.EXMainServer
+
+
+
+
+ Sys
+ 4
+ 16
+ 60000
+ 20000
+
+
+
+
+ Ext
+ 4
+ 16
+ 60000
+ 20000
+
+
+
\ No newline at end of file
diff --git a/puke/suoha/game_pk_suoha/.idea/.gitignore b/puke/suoha/game_pk_suoha/.idea/.gitignore
new file mode 100644
index 0000000..13566b8
--- /dev/null
+++ b/puke/suoha/game_pk_suoha/.idea/.gitignore
@@ -0,0 +1,8 @@
+# Default ignored files
+/shelf/
+/workspace.xml
+# Editor-based HTTP Client requests
+/httpRequests/
+# Datasource local storage ignored files
+/dataSources/
+/dataSources.local.xml
diff --git a/puke/suoha/game_pk_suoha/.idea/compiler.xml b/puke/suoha/game_pk_suoha/.idea/compiler.xml
new file mode 100644
index 0000000..dc5f36b
--- /dev/null
+++ b/puke/suoha/game_pk_suoha/.idea/compiler.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/puke/suoha/game_pk_suoha/.idea/encodings.xml b/puke/suoha/game_pk_suoha/.idea/encodings.xml
new file mode 100644
index 0000000..63e9001
--- /dev/null
+++ b/puke/suoha/game_pk_suoha/.idea/encodings.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/puke/suoha/game_pk_suoha/.idea/jarRepositories.xml b/puke/suoha/game_pk_suoha/.idea/jarRepositories.xml
new file mode 100644
index 0000000..5a2f139
--- /dev/null
+++ b/puke/suoha/game_pk_suoha/.idea/jarRepositories.xml
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/puke/suoha/game_pk_suoha/.idea/misc.xml b/puke/suoha/game_pk_suoha/.idea/misc.xml
new file mode 100644
index 0000000..0c1b5d4
--- /dev/null
+++ b/puke/suoha/game_pk_suoha/.idea/misc.xml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/puke/suoha/game_pk_suoha/.idea/runConfigurations.xml b/puke/suoha/game_pk_suoha/.idea/runConfigurations.xml
new file mode 100644
index 0000000..797acea
--- /dev/null
+++ b/puke/suoha/game_pk_suoha/.idea/runConfigurations.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/puke/suoha/game_pk_suoha/.idea/vcs.xml b/puke/suoha/game_pk_suoha/.idea/vcs.xml
new file mode 100644
index 0000000..c2365ab
--- /dev/null
+++ b/puke/suoha/game_pk_suoha/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file