diff --git a/pom.xml b/pom.xml
index 7d7b7d6..36b0008 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1,75 +1,81 @@
-
- 4.0.0
- cn.citycraft
- CTZServer
- 1.0
- jar
- CTZServer
-
- ${project.name}
-
-
- src/main/resources
- true
-
-
-
-
- maven-compiler-plugin
- 3.1
-
-
- 1.8
-
-
-
- org.apache.maven.plugins
- maven-shade-plugin
- 2.3
-
- false
- false
-
-
- cn.citycraft.CTZServer.Main
-
-
-
-
-
- package
-
- shade
-
-
-
-
-
-
-
-
- citycraft-repo
- http://ci.citycraft.cn:8800/jenkins/plugin/repository/everything/
-
-
-
-
- cn.citycraft
- PluginHelper
- jar
- 1.0
-
-
- mysql
- mysql-connector-java
- 5.1.14
- jar
- compile
-
-
-
- UTF-8
-
-
+
+ 4.0.0
+ cn.citycraft
+ CTZServer
+ 1.0
+ jar
+ CTZServer
+
+ ${project.name}
+
+
+ src/main/resources
+ true
+
+
+
+
+ maven-compiler-plugin
+ 3.1
+
+
+ 1.8
+
+
+
+ org.apache.maven.plugins
+ maven-shade-plugin
+ 2.3
+
+ false
+ false
+
+
+ cn.citycraft.CTZServer.Main
+
+
+
+
+
+ package
+
+ shade
+
+
+
+
+
+
+
+
+ citycraft-repo
+ http://ci.citycraft.cn:8800/jenkins/plugin/repository/everything/
+
+
+
+
+ cn.citycraft
+ PluginHelper
+ jar
+ 1.0
+
+
+ cn.citycraft
+ CTZServerCommon
+ jar
+ 1.0
+
+
+ mysql
+ mysql-connector-java
+ 5.1.14
+ jar
+ compile
+
+
+
+ UTF-8
+
+
diff --git a/src/main/java/cn/citycraft/CTZServer/CTZAuth.java b/src/main/java/cn/citycraft/CTZServer/CTZAuth.java
deleted file mode 100644
index bf06e39..0000000
--- a/src/main/java/cn/citycraft/CTZServer/CTZAuth.java
+++ /dev/null
@@ -1,47 +0,0 @@
-package cn.citycraft.CTZServer;
-
-import cn.citycraft.PluginHelper.sql.KeyValue;
-import cn.citycraft.PluginHelper.sql.SQLHelper;
-import cn.citycraft.PluginHelper.utils.StringUtil;
-
-public class CTZAuth {
- static final String TableName = "ctzserver";
- static final String UserField = "player";
- static final String PWDField = "password";
- static final String ISLoginField = "islogin";
- static final String ALLOWLoginField = "allowlogin";
- static SQLHelper sql;
-
- public static void changePassword(String username, String password) {
- // TODO 处理玩家密码修改事件
- }
-
- public static boolean checkPassword(String username, String password) {
- return sql.isFieldExists(TableName, new KeyValue(UserField, username).add(PWDField, StringUtil.getMD5Code(password)));
- }
-
- public static void init(SQLHelper sql) {
- CTZAuth.sql = sql;
- }
-
- public static boolean isLogin(String username) {
- String result = sql.dbSelectFirst(TableName, ISLoginField, new KeyValue(UserField, username));
- return (result != null && result.equalsIgnoreCase("1"));
- }
-
- public static boolean isRegistered(String username) {
- return sql.isFieldExists(TableName, new KeyValue(UserField, username));
- }
-
- public static boolean login(String username) {
- return sql.dbUpdate(TableName, new KeyValue(ALLOWLoginField, "1"), new KeyValue(UserField, username));
- }
-
- public static boolean registerPlayer(String username, String password) {
- if (isRegistered(username))
- return false;
- else
- return sql.dbInsert(TableName, new KeyValue(UserField, username).add(PWDField, StringUtil.getMD5Code(password)));
- }
-
-}
diff --git a/src/main/java/cn/citycraft/CTZServer/CTZServer.java b/src/main/java/cn/citycraft/CTZServer/CTZServer.java
deleted file mode 100644
index b433133..0000000
--- a/src/main/java/cn/citycraft/CTZServer/CTZServer.java
+++ /dev/null
@@ -1,260 +0,0 @@
-package cn.citycraft.CTZServer;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Set;
-
-import org.bukkit.configuration.ConfigurationSection;
-
-import com.google.gson.Gson;
-
-public class CTZServer {
- protected static Logger log = new Logger();
-
- static ServerInfo sl = new ServerInfo();
- static Gson gson = new Gson();
-
- /**
- * 把中文转成Unicode码
- *
- * @param str
- * - 待转换的字符串
- * @return 转换后的字符串
- */
- public static String chinaToUnicode(String str) {
- String result = "";
- for (int i = 0; i < str.length(); i++) {
- int chr1 = str.charAt(i);
- if (chr1 >= 19968 && chr1 <= 171941)
- result += "\\u" + Integer.toHexString(chr1);
- else
- result += str.charAt(i);
- }
- return result;
- }
-
- /**
- * 获得json字符串
- *
- * @return
- */
- public static String getJson() {
- return chinaToUnicode(gson.toJson(sl));
- }
-
- // public static Logger getLogger() {
- // return log;
- // }
-
- /**
- * 初始化服务器序列化类
- *
- * @param 配置类
- */
- public static void Init(ConfigurationSection cs) {
- Set arealist = cs.getKeys(false);
- for (String a : arealist) {
- Area area = new Area();
- area.setName(cs.getString(a + ".name"));
- Set serverlist = cs.getConfigurationSection(a + ".servers").getKeys(false);
- for (String s : serverlist) {
- Server server = new Server();
- server.name = cs.getString(a + ".servers." + s + ".name");
- server.address = cs.getString(a + ".servers." + s + ".address");
- server.port = cs.getInt(a + ".servers." + s + ".port");
- server.version = cs.getString(a + ".servers." + s + ".version");
- server.info = cs.getString(a + ".servers." + s + ".info");
- server.url = cs.getString(a + ".servers." + s + ".url");
- server.depend = cs.getString(a + ".servers." + s + ".depend");
- area.servers.add(server);
- }
- sl.areas.add(area);
- }
- }
-
- /**
- * 初始化服务器序列化类
- *
- * @param json
- * - json字符串
- */
- public static boolean Init(String json) {
- try {
- sl = gson.fromJson(json, ServerInfo.class);
- return true;
- } catch (Exception e) {
- return false;
- }
- }
-
- public static void print(String message) {
- log.info(message);
- }
-
- public static void warn(String message) {
- log.warning(message);
- }
-
- /**
- * 判断是否为中文字符
- *
- * @param c
- * @return
- */
- public boolean isChinese(char c) {
- Character.UnicodeBlock ub = Character.UnicodeBlock.of(c);
- if (ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS || ub == Character.UnicodeBlock.CJK_COMPATIBILITY_IDEOGRAPHS || ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A
- || ub == Character.UnicodeBlock.GENERAL_PUNCTUATION || ub == Character.UnicodeBlock.CJK_SYMBOLS_AND_PUNCTUATION || ub == Character.UnicodeBlock.HALFWIDTH_AND_FULLWIDTH_FORMS)
- return true;
- return false;
- }
-
-}
-
-class Area {
- /**
- * 大区名称
- */
- String name;
- /**
- * 服务器信息
- */
- List servers = new ArrayList();
-
- public String getName() {
- return name;
- }
-
- public List getServers() {
- return servers;
- }
-
- public void setName(String name) {
- this.name = name;
- }
-
- public void setServers(List servers) {
- this.servers = servers;
- }
-}
-
-/**
- * 服务器数据序列化类
- *
- * @author 蒋天蓓
- * 2015年8月14日下午4:36:12
- *
- */
-class Server {
-
- /**
- * 服务器名称
- */
- public String name;
-
- /**
- * 服务器地址
- */
- public String address;
-
- /**
- * 服务器端口
- */
- public int port;
-
- /**
- * 服务器描述
- */
- public String info;
-
- /**
- * 服务器版本
- */
- public String version;
-
- /**
- * 版本下载地址
- */
- public String url;
-
- /**
- * 依赖版本
- */
- public String depend;
-
- public String getAddress() {
- return address;
- }
-
- public String getDepend() {
- return depend;
- }
-
- public String getInfo() {
- return info;
- }
-
- public String getName() {
- return name;
- }
-
- public int getPort() {
- return port;
- }
-
- public String getUrl() {
- return url;
- }
-
- public String getVersion() {
- return version;
- }
-
- public void setAddress(String address) {
- this.address = address;
- }
-
- public void setDepend(String depend) {
- this.depend = depend;
- }
-
- public void setInfo(String info) {
- this.info = info;
- }
-
- public void setName(String name) {
- this.name = name;
- }
-
- public void setPort(int port) {
- this.port = port;
- }
-
- public void setUrl(String url) {
- this.url = url;
- }
-
- public void setVersion(String version) {
- this.version = version;
- }
-
- @Override
- public String toString() {
- return String.format("{0}:{1}", address, port);
- }
-}
-
-class ServerInfo {
- /**
- * 服务器分区信息
- */
- List areas = new ArrayList();
-
- public List getAreas() {
- return areas;
- }
-
- public void setAreas(List aareas) {
- areas = aareas;
- }
-}
diff --git a/src/main/java/cn/citycraft/CTZServer/Logger.java b/src/main/java/cn/citycraft/CTZServer/Logger.java
deleted file mode 100644
index 914b569..0000000
--- a/src/main/java/cn/citycraft/CTZServer/Logger.java
+++ /dev/null
@@ -1,41 +0,0 @@
-package cn.citycraft.CTZServer;
-
-import java.text.SimpleDateFormat;
-import java.util.Date;
-
-import net.md_5.bungee.api.ChatColor;
-
-public class Logger {
- enum LEVEL {
- INFO("信息"),
- WARN("警告"),
- ERROR("错误");
- String prefix;
-
- LEVEL(String prefix) {
- this.prefix = prefix;
- }
-
- @Override
- public String toString() {
- return prefix;
- }
- }
-
- public void error(String string) {
- log(LEVEL.ERROR, string);
- }
-
- public void info(String string) {
- log(LEVEL.INFO, string);
- }
-
- public void log(LEVEL lvl, String string) {
- String time = new SimpleDateFormat("HH:mm:ss").format(new Date(System.currentTimeMillis()));
- System.out.println(String.format("[%1$s %2$s] %3$s", time, lvl, ChatColor.stripColor(string)));
- }
-
- public void warning(String string) {
- log(LEVEL.WARN, string);
- }
-}
diff --git a/src/main/java/cn/citycraft/CTZServer/ServerThread.java b/src/main/java/cn/citycraft/CTZServer/ServerThread.java
index 994d609..92b0c03 100644
--- a/src/main/java/cn/citycraft/CTZServer/ServerThread.java
+++ b/src/main/java/cn/citycraft/CTZServer/ServerThread.java
@@ -7,8 +7,8 @@ import java.io.InputStreamReader;
import cn.citycraft.CTZServer.commands.HandlerCommand;
import cn.citycraft.CTZServer.socket.CTZLoginServerSocket;
-import cn.citycraft.PluginHelper.sql.KeyValue;
-import cn.citycraft.PluginHelper.sql.MySQLHelper;
+import cn.citycraft.CTZServerCommon.CTZAuth;
+import cn.citycraft.CTZServerCommon.CTZServer;
import cn.citycraft.PluginHelper.sql.SQLHelper;
import cn.citycraft.PluginHelper.utils.FileUtil;
import net.md_5.bungee.api.ChatColor;
@@ -28,9 +28,8 @@ public class ServerThread implements Runnable {
CTZServer.print(ChatColor.GREEN + "服务器开始启动...");
initCommand();
- initDatabase();
initServerInfo();
- CTZAuth.init(sql);
+ CTZAuth.init(sql, "127.0.0.1", 3306, "ctzserver", "root", "325325");
server = new CTZLoginServerSocket();
server.start();
@@ -58,39 +57,6 @@ public class ServerThread implements Runnable {
handlercmd = new HandlerCommand(this);
}
- /**
- * 初始化数据库
- */
- void initDatabase() {
- String dbtable = "ctzserver";
- CTZServer.print(ChatColor.GREEN + "初始化数据库连接...");
- sql = new MySQLHelper("127.0.0.1", 3306, "minecraft", "root", "325325");
- if (!sql.dbConnection()) {
- CTZServer.warn(ChatColor.RED + "数据库连接失败...");
- return;
- }
- CTZServer.print(ChatColor.GREEN + "数据库连接成功,检查数据表是否存在...");
- if (!sql.isTableExists(dbtable)) {
- CTZServer.print(ChatColor.RED + "数据表不存在,新建表" + dbtable + "...");
- KeyValue kv = new KeyValue("player", "VARCHAR(16) NOT NULL")
- .add("password", "VARCHAR(50) NOT NULL")
- .add("ip", "VARCHAR(40) NOT NULL DEFAULT '127.0.0.1'")
- .add("lastloginout", "BIGINT(20) NOT NULL DEFAULT 0")
- .add("x", "DOUBLE NOT NULL DEFAULT 0")
- .add("y", "DOUBLE NOT NULL DEFAULT 0")
- .add("z", "DOUBLE NOT NULL DEFAULT 0")
- .add("email", "VARCHAR(50) NOT NULL DEFAULT 'mc@mc.com'")
- .add("world", "VARCHAR(20) DEFAULT 'world'")
- .add("islogged", "SMALLINT(6) NOT NULL DEFAULT 0")
- .add("allowlogin", "SMALLINT(6) NOT NULL DEFAULT 0");
- String Conditions = "UNIQUE (`player`)";
- if (!sql.createTables(dbtable, kv, Conditions))
- CTZServer.warn(ChatColor.RED + "数据表 " + dbtable + " 创建失败,请尝试手动创建并重启服务器...");
- else
- CTZServer.print(ChatColor.GREEN + "数据表 " + dbtable + " 创建成功...");
- }
- }
-
/**
* 初始化服务器信息
*/
diff --git a/src/main/java/cn/citycraft/CTZServer/commands/CommandGc.java b/src/main/java/cn/citycraft/CTZServer/commands/CommandGc.java
index c6003ee..c6d8d05 100644
--- a/src/main/java/cn/citycraft/CTZServer/commands/CommandGc.java
+++ b/src/main/java/cn/citycraft/CTZServer/commands/CommandGc.java
@@ -1,7 +1,7 @@
package cn.citycraft.CTZServer.commands;
-import cn.citycraft.CTZServer.CTZServer;
import cn.citycraft.CTZServer.ServerThread;
+import cn.citycraft.CTZServerCommon.CTZServer;
import cn.citycraft.PluginHelper.utils.StringUtil;
import cn.citycraft.PluginHelper.utils.SystemUtil;
import net.md_5.bungee.api.ChatColor;
diff --git a/src/main/java/cn/citycraft/CTZServer/commands/CommandRegister.java b/src/main/java/cn/citycraft/CTZServer/commands/CommandRegister.java
index f8c010f..d5fec5f 100644
--- a/src/main/java/cn/citycraft/CTZServer/commands/CommandRegister.java
+++ b/src/main/java/cn/citycraft/CTZServer/commands/CommandRegister.java
@@ -1,8 +1,8 @@
package cn.citycraft.CTZServer.commands;
-import cn.citycraft.CTZServer.CTZAuth;
-import cn.citycraft.CTZServer.CTZServer;
import cn.citycraft.CTZServer.ServerThread;
+import cn.citycraft.CTZServerCommon.CTZAuth;
+import cn.citycraft.CTZServerCommon.CTZServer;
import net.md_5.bungee.api.ChatColor;
public class CommandRegister extends BaseCommand {
diff --git a/src/main/java/cn/citycraft/CTZServer/commands/CommandStop.java b/src/main/java/cn/citycraft/CTZServer/commands/CommandStop.java
index 41781fa..f7d3d36 100644
--- a/src/main/java/cn/citycraft/CTZServer/commands/CommandStop.java
+++ b/src/main/java/cn/citycraft/CTZServer/commands/CommandStop.java
@@ -1,7 +1,7 @@
package cn.citycraft.CTZServer.commands;
-import cn.citycraft.CTZServer.CTZServer;
import cn.citycraft.CTZServer.ServerThread;
+import cn.citycraft.CTZServerCommon.CTZServer;
import net.md_5.bungee.api.ChatColor;
public class CommandStop extends BaseCommand {
diff --git a/src/main/java/cn/citycraft/CTZServer/commands/HandlerCommand.java b/src/main/java/cn/citycraft/CTZServer/commands/HandlerCommand.java
index 3bf2813..6f5aac5 100644
--- a/src/main/java/cn/citycraft/CTZServer/commands/HandlerCommand.java
+++ b/src/main/java/cn/citycraft/CTZServer/commands/HandlerCommand.java
@@ -3,8 +3,8 @@ package cn.citycraft.CTZServer.commands;
import java.util.ArrayList;
import java.util.List;
-import cn.citycraft.CTZServer.CTZServer;
import cn.citycraft.CTZServer.ServerThread;
+import cn.citycraft.CTZServerCommon.CTZServer;
import cn.citycraft.PluginHelper.utils.StringUtil;
import net.md_5.bungee.api.ChatColor;
diff --git a/src/main/java/cn/citycraft/CTZServer/socket/CTZLoginServerSocket.java b/src/main/java/cn/citycraft/CTZServer/socket/CTZLoginServerSocket.java
index e239819..17be00c 100644
--- a/src/main/java/cn/citycraft/CTZServer/socket/CTZLoginServerSocket.java
+++ b/src/main/java/cn/citycraft/CTZServer/socket/CTZLoginServerSocket.java
@@ -8,9 +8,9 @@ import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
-import cn.citycraft.CTZServer.CTZAuth;
-import cn.citycraft.CTZServer.CTZServer;
import cn.citycraft.CTZServer.socket.Response.HttpStates;
+import cn.citycraft.CTZServerCommon.CTZAuth;
+import cn.citycraft.CTZServerCommon.CTZServer;
import net.md_5.bungee.api.ChatColor;
public class CTZLoginServerSocket extends Thread {
@@ -124,7 +124,7 @@ public class CTZLoginServerSocket extends Thread {
}
if (CTZAuth.checkPassword(username, password)) {
res.setHtml("true");
- // TODO 是否检查登录IP
+ CTZAuth.login(username, ip);
CTZServer.print("§6玩家: §a" + username + " §3登录成功 IP: " + ip);
} else
res.setHtml("false");