diff --git a/twe/install_db.php b/twe/install_db.php
index f218eaaa..4ee24a10 100644
--- a/twe/install_db.php
+++ b/twe/install_db.php
@@ -22,7 +22,7 @@ if(Session::getUserGrade(true) == 5){
-
+
diff --git a/twe/j_drop_settings.php b/twe/j_install_db.php
similarity index 92%
rename from twe/j_drop_settings.php
rename to twe/j_install_db.php
index d71c131c..4fa0becc 100644
--- a/twe/j_drop_settings.php
+++ b/twe/j_install_db.php
@@ -4,7 +4,8 @@ namespace sammo;
include "lib.php";
include "func.php";
-if(Session::getUserGrade(true) < 5){
+$session = Session::Instance()->setReadOnly();
+if($session->userGrade < 6){
die('관리자 아님');
}
diff --git a/twe/js/install_db.js b/twe/js/install_db.js
new file mode 100644
index 00000000..8e0dcd23
--- /dev/null
+++ b/twe/js/install_db.js
@@ -0,0 +1,164 @@
+
+$(document).ready( function () {
+ $('#db_form').validate({
+ rules:{
+ db_host:"required",
+ db_port:"required",
+ db_id:"required",
+ db_pw:"required",
+ db_name:"required",
+ },
+ errorElement: "div",
+ errorPlacement: function ( error, element ) {
+ // Add the `help-block` class to the error element
+ error.addClass( "invalid-feedback" );
+
+ if ( element.prop( "type" ) === "checkbox" ) {
+ error.insertAfter( element.parent( "label" ) );
+ } else {
+ error.insertAfter( element );
+ }
+ },
+ highlight: function ( element, errorClass, validClass ) {
+ $( element ).addClass( "is-invalid" ).removeClass( "is-valid" );
+ },
+ unhighlight: function (element, errorClass, validClass) {
+ $( element ).addClass( "is-valid" ).removeClass( "is-invalid" );
+ }
+ });
+ $('#db_form').submit(function(e){
+ e.preventDefault();
+ if(!$("#db_form").valid()){
+ return;
+ }
+ $.ajax({
+ cache:false,
+ type:'post',
+ url:'j_setup_db.php',
+ dataType:'json',
+ data:{
+ db_host:$('#db_host').val(),
+ db_port:$('#db_port').val(),
+ db_id:$('#db_id').val(),
+ db_pw:$('#db_pw').val(),
+ db_name:$('#db_name').val(),
+ serv_host:$('#serv_host').val()
+ }
+ }).then(function(result){
+ var deferred = $.Deferred();
+
+ if(!result.result){
+ alert(result.reason);
+ deferred.reject('fail');
+ }
+ else{
+ alert('RootDB.php가 생성되었습니다. 관리자 계정 생성을 진행합니다.');
+ deferred.resolve();
+ }
+
+ return deferred.promise();
+ }).then(function(){
+ changeInstallMode();
+ });
+
+ });
+
+ $( "#admin_form" ).validate( {
+ rules: {
+ username: {
+ required: true,
+ minlength: 4,
+ maxlength: 64,
+ },
+ password: {
+ required: true,
+ minlength: 6
+ },
+ confirm_password: {
+ required: true,
+ minlength: 6,
+ equalTo: "#password"
+ },
+ nickname:{
+ required: true,
+ maxlength: 6,
+ }
+ },
+ messages: {
+ username: {
+ required: "유저명을 입력해주세요",
+ minlength: "{0}글자 이상 입력하셔야 합니다",
+ maxlength: '{0}자를 넘을 수 없습니다'
+ },
+ password: {
+ required: "비밀번호를 입력해주세요",
+ minlength: "비밀번호는 적어도 {0}글자 이상이어야 합니다"
+ },
+ confirm_password: {
+ required: "비밀번호를 입력해주세요",
+ minlength: "비밀번호는 적어도 {0}글자 이상이어야 합니다",
+ equalTo: "비밀번호가 일치하지 않습니다"
+ },
+ nickname: {
+ required: "닉네임을 입력해주세요",
+ maxlength: '닉네임은 {0}자를 넘을 수 없습니다'
+ }
+ },
+ errorElement: "div",
+ errorPlacement: function ( error, element ) {
+ // Add the `help-block` class to the error element
+ error.addClass( "invalid-feedback" );
+
+ if ( element.prop( "type" ) === "checkbox" ) {
+ error.insertAfter( element.parent( "label" ) );
+ } else {
+ error.insertAfter( element );
+ }
+ },
+ highlight: function ( element, errorClass, validClass ) {
+ $( element ).addClass( "is-invalid" ).removeClass( "is-valid" );
+ },
+ unhighlight: function (element, errorClass, validClass) {
+ $( element ).addClass( "is-valid" ).removeClass( "is-invalid" );
+ }
+ });
+
+ $('#admin_form').submit(function(e){
+ e.preventDefault();
+ if(!$("#admin_form").valid()){
+ return;
+ }
+
+ var raw_password = $('#password').val();
+ var salt = $('#global_salt').val();
+ console.log(salt + raw_password + salt);
+ var hash_pw = sha512(salt + raw_password + salt);
+
+ $.ajax({
+ cache:false,
+ type:'post',
+ url:'j_create_admin.php',
+ dataType:'json',
+ data:{
+ username:$('#username').val(),
+ password:hash_pw,
+ nickname:$('#nickname').val()
+ }
+ }).then(function(result){
+ var deferred = $.Deferred();
+
+ if(!result.result){
+ alert(result.reason);
+ deferred.reject('fail');
+ }
+ else{
+ deferred.resolve();
+ }
+
+ return deferred.promise();
+ }).then(function(){
+ changeInstallMode();
+ });
+
+ });
+});
\ No newline at end of file
diff --git a/twe/schema.php b/twe/schema.php
deleted file mode 100644
index 9d6579ed..00000000
--- a/twe/schema.php
+++ /dev/null
@@ -1,719 +0,0 @@
-= 9000 national',
- `type` ENUM('private','national','public','diplomacy') NOT NULL,
- `is_sender` BIT(1) NOT NULL,
- `src` INT(11) NOT NULL,
- `dest` INT(11) NOT NULL,
- `time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
- `valid_until` DATETIME NOT NULL DEFAULT '9999-12-31 23:59:59',
- `message` TEXT NOT NULL COMMENT 'json',
- PRIMARY KEY (`id`),
- INDEX `by_mailbox` (`mailbox`, `type`, `time`)
-)
-COLLATE='utf8_general_ci'
-ENGINE=InnoDB
-
-";
-
-///////////////////////////////////////////////////////////////////////////
-// 명전 테이블
-///////////////////////////////////////////////////////////////////////////
-
-$hall_schema = "
-
- create table hall (
- no int(6) not null auto_increment,
- type int(2) default 0,
- rank int(2) default 0,
- name char(64) default '',
- nation char(12) default '',
- data int(5) default 0,
- color char(12) default '',
- picture char(32) default '',
-
- PRIMARY KEY (no)
- ) ENGINE=INNODB ROW_FORMAT=DYNAMIC DEFAULT CHARSET=UTF8
-
- ";
-
-///////////////////////////////////////////////////////////////////////////
-// 왕조 테이블
-///////////////////////////////////////////////////////////////////////////
-
-$emperior_schema = "
-
- create table emperior (
- no int(6) not null auto_increment,
- phase char(255) default '',
- nation_count char(64) default '',
- nation_name text default '',
- nation_hist text default '',
- gen_count char(64) default '',
- personal_hist text default '',
- special_hist text default '',
- name char(64) default '',
- type char(64) default '',
- color char(6) default '',
- year int(4) default 0,
- month int(2) default 0,
- power int(8) default 0,
- gennum int(3) default 0,
- citynum int(3) default 0,
- pop char(255) default 0,
- poprate char(255) default '',
- gold int(9) default 0,
- rice int(9) default 0,
- l12name char(64) default '', l12pic char(32) default '',
- l11name char(64) default '', l11pic char(32) default '',
- l10name char(64) default '', l10pic char(32) default '',
- l9name char(64) default '', l9pic char(32) default '',
- l8name char(64) default '', l8pic char(32) default '',
- l7name char(64) default '', l7pic char(32) default '',
- l6name char(64) default '', l6pic char(32) default '',
- l5name char(64) default '', l5pic char(32) default '',
- tiger char(64) default '',
- eagle char(64) default '',
- gen text default '',
- history text default '',
-
- PRIMARY KEY (no)
- ) ENGINE=INNODB ROW_FORMAT=COMPRESSED DEFAULT CHARSET=UTF8
-
- ";
-
-///////////////////////////////////////////////////////////////////////////
-// 외교 테이블
-///////////////////////////////////////////////////////////////////////////
-
-$diplomacy_schema = "
-
- create table diplomacy (
- `no` INT(6) NOT NULL AUTO_INCREMENT,
- `me` INT(6) NOT NULL,
- `you` INT(6) NOT NULL,
- `state` INT(6) NULL DEFAULT '0',
- `term` INT(6) NULL DEFAULT '0',
- `dead` INT(8) NULL DEFAULT '0',
- `fixed` CHAR(128) NULL DEFAULT '',
- `reserved` CHAR(128) NULL DEFAULT '',
- `showing` DATETIME NULL DEFAULT NULL,
-
- PRIMARY KEY (`no`),
- UNIQUE INDEX `me` (`me`, `you`)
- ) ENGINE=INNODB ROW_FORMAT=DYNAMIC DEFAULT CHARSET=UTF8
-
- ";
-
-///////////////////////////////////////////////////////////////////////////
-// 토너먼트 테이블
-///////////////////////////////////////////////////////////////////////////
-
-$tournament_schema = "
-
- create table tournament (
- seq int(6) not null auto_increment,
- no int(6) default 0,
- npc int(6) default 0,
- name char(64) default '',
- w int(2) default 0,
- b int(2) default 0,
- h int(2) default 0,
- ldr int(3) default 0,
- pwr int(3) default 0,
- itl int(3) default 0,
- lvl int(3) default 0,
- grp int(2) default 0,
- grp_no int(2) default 0,
- win int(2) default 0,
- draw int(2) default 0,
- lose int(2) default 0,
- gl int(2) default 0,
- prmt int(1) default 0,
- PRIMARY KEY (seq)
- ) ENGINE=INNODB ROW_FORMAT=DYNAMIC DEFAULT CHARSET=UTF8
-
- ";
-
-///////////////////////////////////////////////////////////////////////////
-// 거래 테이블
-///////////////////////////////////////////////////////////////////////////
-
-$auction_schema = "
-
- create table auction (
- no int(6) not null auto_increment,
- type int(6) default 0,
- no1 int(6) default 0,
- name1 char(64) default '-',
- stuff int(6) default 0,
- amount int(6) default 0,
- cost int(6) default 0,
- value int(6) default 0,
- topv int(6) default 0,
- no2 int(6) default 0,
- name2 char(64) default '-',
- expire datetime,
-
- PRIMARY KEY (no)
- ) ENGINE=INNODB ROW_FORMAT=DYNAMIC DEFAULT CHARSET=UTF8
-
- ";
-
-///////////////////////////////////////////////////////////////////////////
-// 통계 테이블
-///////////////////////////////////////////////////////////////////////////
-
-$statistic_schema = "
-
- create table statistic (
- no int(6) not null auto_increment,
- year int(4) default 0,
- month int(2) default 0,
- nation_count int(2) default 0,
- nation_name text default '',
- nation_hist text default '',
- gen_count varchar(32) default '',
- personal_hist text default '',
- special_hist text default '',
- power_hist text default '',
- crewtype text default '',
- etc text default '',
-
- PRIMARY KEY (no)
- ) ENGINE=INNODB ROW_FORMAT=COMPRESSED DEFAULT CHARSET=UTF8
-
- ";
-
-///////////////////////////////////////////////////////////////////////////
-// 연감 테이블
-///////////////////////////////////////////////////////////////////////////
-
-$history_schema = "
-
- create table history (
- no int(6) not null auto_increment,
- year int(4) default 0,
- month int(2) default 0,
- map longtext default '',
- log text default '',
- genlog text default '',
- nation text default '',
- power text default '',
- gen text default '',
- city text default '',
-
- PRIMARY KEY (no)
- ) ENGINE=INNODB ROW_FORMAT=COMPRESSED DEFAULT CHARSET=UTF8
-
- ";
-
-///////////////////////////////////////////////////////////////////////////
-// 이벤트 핸들러 테이블
-///////////////////////////////////////////////////////////////////////////
-
-$event_schema = "
- CREATE TABLE `event` (
- `id` INT(11) NOT NULL AUTO_INCREMENT,
- `condition` MEDIUMTEXT NOT NULL COMMENT 'json',
- `action` MEDIUMTEXT NOT NULL COMMENT 'json',
- PRIMARY KEY (`id`)
- )
- ENGINE=InnoDB
- ";
-
\ No newline at end of file
diff --git a/twe/sql/.htaccess b/twe/sql/.htaccess
new file mode 100644
index 00000000..698196ae
--- /dev/null
+++ b/twe/sql/.htaccess
@@ -0,0 +1 @@
+Deny from all
\ No newline at end of file
diff --git a/twe/sql/schema.sql b/twe/sql/schema.sql
new file mode 100644
index 00000000..ccbcd05b
--- /dev/null
+++ b/twe/sql/schema.sql
@@ -0,0 +1,647 @@
+############################################################################
+## 장수 테이블
+############################################################################
+
+CREATE TABLE `general` (
+ `no` INT(11) NOT NULL AUTO_INCREMENT,
+ `owner` INT(11) NOT NULL DEFAULT '-1',
+ `conmsg` CHAR(255) NOT NULL DEFAULT '',
+ `npcmsg` CHAR(255) NULL DEFAULT '',
+ `npcid` INT(5) NULL DEFAULT NULL,
+ `npc` INT(1) NULL DEFAULT '0',
+ `npc_org` INT(1) NULL DEFAULT '0',
+ `affinity` INT(3) NULL DEFAULT '0',
+ `bornyear` INT(3) NULL DEFAULT '180',
+ `deadyear` INT(3) NULL DEFAULT '300',
+ `newmsg` INT(1) NULL DEFAULT '0',
+ `con` INT(6) NULL DEFAULT '0',
+ `connect` INT(6) NULL DEFAULT '0',
+ `refresh` INT(6) NULL DEFAULT '0',
+ `logcnt` INT(6) NULL DEFAULT '1',
+ `refcnt` INT(6) NULL DEFAULT '1',
+ `picture` CHAR(32) NOT NULL,
+ `imgsvr` INT(1) NULL DEFAULT '0',
+ `name` CHAR(32) NOT NULL,
+ `name2` CHAR(32) NULL DEFAULT NULL,
+ `nation` INT(6) NULL DEFAULT '0',
+ `nations` CHAR(64) NULL DEFAULT ',0,',
+ `city` INT(6) NULL DEFAULT '0',
+ `troop` INT(6) NULL DEFAULT '0',
+ `leader` INT(3) NULL DEFAULT '0',
+ `leader2` INT(3) NULL DEFAULT '0',
+ `power` INT(3) NULL DEFAULT '0',
+ `power2` INT(3) NULL DEFAULT '0',
+ `intel` INT(3) NULL DEFAULT '0',
+ `intel2` INT(3) NULL DEFAULT '0',
+ `injury` INT(2) NULL DEFAULT '0',
+ `experience` INT(6) NULL DEFAULT '0',
+ `dedication` INT(6) NULL DEFAULT '0',
+ `dex0` INT(8) NULL DEFAULT '0',
+ `dex10` INT(8) NULL DEFAULT '0',
+ `dex20` INT(8) NULL DEFAULT '0',
+ `dex30` INT(8) NULL DEFAULT '0',
+ `dex40` INT(8) NULL DEFAULT '0',
+ `level` INT(2) NULL DEFAULT '0',
+ `gold` INT(6) NULL DEFAULT '0',
+ `rice` INT(6) NULL DEFAULT '0',
+ `crew` INT(5) NULL DEFAULT '0',
+ `crewtype` INT(2) NULL DEFAULT '0',
+ `train` INT(3) NULL DEFAULT '0',
+ `atmos` INT(3) NULL DEFAULT '0',
+ `weap` INT(2) NULL DEFAULT '0',
+ `book` INT(2) NULL DEFAULT '0',
+ `horse` INT(2) NULL DEFAULT '0',
+ `item` INT(2) NULL DEFAULT '0',
+ `turntime` DATETIME NULL DEFAULT NULL,
+ `recwar` DATETIME NULL DEFAULT NULL,
+ `makenation` CHAR(255) NULL DEFAULT NULL,
+ `makelimit` INT(2) NULL DEFAULT '24',
+ `killturn` INT(3) NULL DEFAULT NULL,
+ `lastconnect` DATETIME NULL DEFAULT NULL,
+ `lastrefresh` DATETIME NULL DEFAULT NULL,
+ `ip` CHAR(255) NULL DEFAULT '',
+ `block` INT(1) NULL DEFAULT '0',
+ `dedlevel` INT(2) NULL DEFAULT '0',
+ `explevel` INT(2) NULL DEFAULT '0',
+ `firenum` INT(3) NULL DEFAULT '0',
+ `warnum` INT(3) NULL DEFAULT '0',
+ `killnum` INT(3) NULL DEFAULT '0',
+ `deathnum` INT(3) NULL DEFAULT '0',
+ `killcrew` INT(7) NULL DEFAULT '0',
+ `deathcrew` INT(7) NULL DEFAULT '0',
+ `age` INT(3) NULL DEFAULT '20',
+ `startage` INT(3) NULL DEFAULT '20',
+ `history` TEXT NULL DEFAULT '',
+ `belong` INT(2) NULL DEFAULT '1',
+ `betray` INT(2) NULL DEFAULT '0',
+ `personal` INT(2) NULL DEFAULT '0',
+ `special` INT(2) NULL DEFAULT '0',
+ `specage` INT(2) NULL DEFAULT '0',
+ `special2` INT(2) NULL DEFAULT '0',
+ `specage2` INT(2) NULL DEFAULT '0',
+ `skin` INT(3) NULL DEFAULT '1',
+ `mode` INT(1) NULL DEFAULT '2',
+ `tnmt` INT(1) NULL DEFAULT '1',
+ `map` INT(1) NULL DEFAULT '0',
+ `myset` INT(1) NULL DEFAULT '3',
+ `tournament` INT(1) NULL DEFAULT '0',
+ `vote` INT(1) NULL DEFAULT '0',
+ `newvote` INT(1) NULL DEFAULT '0',
+ `ttw` INT(4) NULL DEFAULT '0',
+ `ttd` INT(4) NULL DEFAULT '0',
+ `ttl` INT(4) NULL DEFAULT '0',
+ `ttg` INT(4) NULL DEFAULT '0',
+ `ttp` INT(4) NULL DEFAULT '0',
+ `tlw` INT(4) NULL DEFAULT '0',
+ `tld` INT(4) NULL DEFAULT '0',
+ `tll` INT(4) NULL DEFAULT '0',
+ `tlg` INT(4) NULL DEFAULT '0',
+ `tlp` INT(4) NULL DEFAULT '0',
+ `tpw` INT(4) NULL DEFAULT '0',
+ `tpd` INT(4) NULL DEFAULT '0',
+ `tpl` INT(4) NULL DEFAULT '0',
+ `tpg` INT(4) NULL DEFAULT '0',
+ `tpp` INT(4) NULL DEFAULT '0',
+ `tiw` INT(4) NULL DEFAULT '0',
+ `tid` INT(4) NULL DEFAULT '0',
+ `til` INT(4) NULL DEFAULT '0',
+ `tig` INT(4) NULL DEFAULT '0',
+ `tip` INT(4) NULL DEFAULT '0',
+ `bet0` INT(8) NULL DEFAULT '0',
+ `bet1` INT(8) NULL DEFAULT '0',
+ `bet2` INT(8) NULL DEFAULT '0',
+ `bet3` INT(8) NULL DEFAULT '0',
+ `bet4` INT(8) NULL DEFAULT '0',
+ `bet5` INT(8) NULL DEFAULT '0',
+ `bet6` INT(8) NULL DEFAULT '0',
+ `bet7` INT(8) NULL DEFAULT '0',
+ `bet8` INT(8) NULL DEFAULT '0',
+ `bet9` INT(8) NULL DEFAULT '0',
+ `bet10` INT(8) NULL DEFAULT '0',
+ `bet11` INT(8) NULL DEFAULT '0',
+ `bet12` INT(8) NULL DEFAULT '0',
+ `bet13` INT(8) NULL DEFAULT '0',
+ `bet14` INT(8) NULL DEFAULT '0',
+ `bet15` INT(8) NULL DEFAULT '0',
+ `betwin` INT(8) NULL DEFAULT '0',
+ `betgold` INT(8) NULL DEFAULT '0',
+ `betwingold` INT(8) NULL DEFAULT '0',
+ `term` INT(4) NULL DEFAULT '0',
+ `turn0` CHAR(14) NULL DEFAULT '00000000000000',
+ `turn1` CHAR(14) NULL DEFAULT '00000000000000',
+ `turn2` CHAR(14) NULL DEFAULT '00000000000000',
+ `turn3` CHAR(14) NULL DEFAULT '00000000000000',
+ `turn4` CHAR(14) NULL DEFAULT '00000000000000',
+ `turn5` CHAR(14) NULL DEFAULT '00000000000000',
+ `turn6` CHAR(14) NULL DEFAULT '00000000000000',
+ `turn7` CHAR(14) NULL DEFAULT '00000000000000',
+ `turn8` CHAR(14) NULL DEFAULT '00000000000000',
+ `turn9` CHAR(14) NULL DEFAULT '00000000000000',
+ `turn10` CHAR(14) NULL DEFAULT '00000000000000',
+ `turn11` CHAR(14) NULL DEFAULT '00000000000000',
+ `turn12` CHAR(14) NULL DEFAULT '00000000000000',
+ `turn13` CHAR(14) NULL DEFAULT '00000000000000',
+ `turn14` CHAR(14) NULL DEFAULT '00000000000000',
+ `turn15` CHAR(14) NULL DEFAULT '00000000000000',
+ `turn16` CHAR(14) NULL DEFAULT '00000000000000',
+ `turn17` CHAR(14) NULL DEFAULT '00000000000000',
+ `turn18` CHAR(14) NULL DEFAULT '00000000000000',
+ `turn19` CHAR(14) NULL DEFAULT '00000000000000',
+ `turn20` CHAR(14) NULL DEFAULT '00000000000000',
+ `turn21` CHAR(14) NULL DEFAULT '00000000000000',
+ `turn22` CHAR(14) NULL DEFAULT '00000000000000',
+ `turn23` CHAR(14) NULL DEFAULT '00000000000000',
+ `recturn` CHAR(14) NULL DEFAULT '',
+ `resturn` CHAR(14) NULL DEFAULT '',
+ PRIMARY KEY (`no`),
+ INDEX `nation` (`nation`),
+ INDEX `city` (`city`),
+ INDEX `turntime` (`turntime`, `no`),
+ INDEX `no_member` (`owner`),
+ INDEX `npc` (`npc`),
+ INDEX `npcid` (`npcid`)
+)
+COLLATE='utf8_general_ci'
+ENGINE=InnoDB
+ROW_FORMAT=DYNAMIC;
+
+###########################################################################
+## 국가 테이블
+###########################################################################
+
+create table nation (
+ nation int(6) not null auto_increment,
+ `name` CHAR(64) NOT NULL COLLATE 'utf8_bin',
+ color char(10) not null, can_change_flag int(1) default 1,
+ onlinegen varchar(1024) default '',
+ msg text default '',
+ capital int(1) default 0, capset int(1) default 0,
+ gennum int(3) default 1,
+ gennum2 int(3) default 1,
+ chemi int(3) default 0,
+ gold int(8) default 0,
+ rice int(8) default 0,
+ bill int(3) default 0,
+ rate int(3) default 0,
+ rate_tmp int(3) default 0,
+ secretlimit int(2) default 3,
+ l12set int(1) default 0,
+ l11set int(1) default 0,
+ l10set int(1) default 0,
+ l9set int(1) default 0,
+ l8set int(1) default 0,
+ l7set int(1) default 0,
+ l6set int(1) default 0,
+ l5set int(1) default 0,
+ scout int(1) default 0,
+ war int(1) default 0,
+ myset int(1) default 3,
+ tricklimit int(4) default 36,
+ surlimit int(4) default 72,
+ scoutmsg text default '',
+ tech int(8) default 0, totaltech int(8) default 0,
+ power int(8) default 0,
+ spy char(255) default '',
+ level int(1) default 0,
+ type int(2) default 0,
+ rule text default '',
+ history text default '',
+ dip0 char(150) default '', dip0_type int(4) default 0, dip0_who int(9) default 0, dip0_when datetime,
+ dip1 char(150) default '', dip1_type int(4) default 0, dip1_who int(9) default 0, dip1_when datetime,
+ dip2 char(150) default '', dip2_type int(4) default 0, dip2_who int(9) default 0, dip2_when datetime,
+ dip3 char(150) default '', dip3_type int(4) default 0, dip3_who int(9) default 0, dip3_when datetime,
+ dip4 char(150) default '', dip4_type int(4) default 0, dip4_who int(9) default 0, dip4_when datetime,
+ dip5 char(150) default '', dip5_type int(4) default 0, dip5_who int(9) default 0, dip5_when datetime,
+ board0 text default '', board0_who int(6) default 0, board0_when datetime,
+ board1 text default '', board1_who int(6) default 0, board1_when datetime,
+ board2 text default '', board2_who int(6) default 0, board2_when datetime,
+ board3 text default '', board3_who int(6) default 0, board3_when datetime,
+ board4 text default '', board4_who int(6) default 0, board4_when datetime,
+ board5 text default '', board5_who int(6) default 0, board5_when datetime,
+ board6 text default '', board6_who int(6) default 0, board6_when datetime,
+ board7 text default '', board7_who int(6) default 0, board7_when datetime,
+ board8 text default '', board8_who int(6) default 0, board8_when datetime,
+ board9 text default '', board9_who int(6) default 0, board9_when datetime,
+ board10 text default '', board10_who int(6) default 0, board10_when datetime,
+ board11 text default '', board11_who int(6) default 0, board11_when datetime,
+ board12 text default '', board12_who int(6) default 0, board12_when datetime,
+ board13 text default '', board13_who int(6) default 0, board13_when datetime,
+ board14 text default '', board14_who int(6) default 0, board14_when datetime,
+ board15 text default '', board15_who int(6) default 0, board15_when datetime,
+ board16 text default '', board16_who int(6) default 0, board16_when datetime,
+ board17 text default '', board17_who int(6) default 0, board17_when datetime,
+ board18 text default '', board18_who int(6) default 0, board18_when datetime,
+ board19 text default '', board19_who int(6) default 0, board19_when datetime,
+ coreboard0 text default '', coreboard0_who int(6) default 0, coreboard0_when datetime,
+ coreboard1 text default '', coreboard1_who int(6) default 0, coreboard1_when datetime,
+ coreboard2 text default '', coreboard2_who int(6) default 0, coreboard2_when datetime,
+ coreboard3 text default '', coreboard3_who int(6) default 0, coreboard3_when datetime,
+ coreboard4 text default '', coreboard4_who int(6) default 0, coreboard4_when datetime,
+ coreboard5 text default '', coreboard5_who int(6) default 0, coreboard5_when datetime,
+ coreboard6 text default '', coreboard6_who int(6) default 0, coreboard6_when datetime,
+ coreboard7 text default '', coreboard7_who int(6) default 0, coreboard7_when datetime,
+ coreboard8 text default '', coreboard8_who int(6) default 0, coreboard8_when datetime,
+ coreboard9 text default '', coreboard9_who int(6) default 0, coreboard9_when datetime,
+ coreboard10 text default '', coreboard10_who int(6) default 0, coreboard10_when datetime,
+ coreboard11 text default '', coreboard11_who int(6) default 0, coreboard11_when datetime,
+ coreboard12 text default '', coreboard12_who int(6) default 0, coreboard12_when datetime,
+ coreboard13 text default '', coreboard13_who int(6) default 0, coreboard13_when datetime,
+ coreboard14 text default '', coreboard14_who int(6) default 0, coreboard14_when datetime,
+ coreboard15 text default '', coreboard15_who int(6) default 0, coreboard15_when datetime,
+ coreboard16 text default '', coreboard16_who int(6) default 0, coreboard16_when datetime,
+ coreboard17 text default '', coreboard17_who int(6) default 0, coreboard17_when datetime,
+ coreboard18 text default '', coreboard18_who int(6) default 0, coreboard18_when datetime,
+ coreboard19 text default '', coreboard19_who int(6) default 0, coreboard19_when datetime,
+ boardindex int(2) default 19,
+ coreindex int(2) default 19,
+ l12term int(4) default 0, l11term int(4) default 0, l10term int(4) default 0, l9term int(4) default 0,
+ l12turn0 char(14) default '00000000000099', l11turn0 char(14) default '00000000000099', l10turn0 char(14) default '00000000000099', l9turn0 char(14) default '00000000000099',
+ l12turn1 char(14) default '00000000000099', l11turn1 char(14) default '00000000000099', l10turn1 char(14) default '00000000000099', l9turn1 char(14) default '00000000000099',
+ l12turn2 char(14) default '00000000000099', l11turn2 char(14) default '00000000000099', l10turn2 char(14) default '00000000000099', l9turn2 char(14) default '00000000000099',
+ l12turn3 char(14) default '00000000000099', l11turn3 char(14) default '00000000000099', l10turn3 char(14) default '00000000000099', l9turn3 char(14) default '00000000000099',
+ l12turn4 char(14) default '00000000000099', l11turn4 char(14) default '00000000000099', l10turn4 char(14) default '00000000000099', l9turn4 char(14) default '00000000000099',
+ l12turn5 char(14) default '00000000000099', l11turn5 char(14) default '00000000000099', l10turn5 char(14) default '00000000000099', l9turn5 char(14) default '00000000000099',
+ l12turn6 char(14) default '00000000000099', l11turn6 char(14) default '00000000000099', l10turn6 char(14) default '00000000000099', l9turn6 char(14) default '00000000000099',
+ l12turn7 char(14) default '00000000000099', l11turn7 char(14) default '00000000000099', l10turn7 char(14) default '00000000000099', l9turn7 char(14) default '00000000000099',
+ l12turn8 char(14) default '00000000000099', l11turn8 char(14) default '00000000000099', l10turn8 char(14) default '00000000000099', l9turn8 char(14) default '00000000000099',
+ l12turn9 char(14) default '00000000000099', l11turn9 char(14) default '00000000000099', l10turn9 char(14) default '00000000000099', l9turn9 char(14) default '00000000000099',
+ l12turn10 char(14) default '00000000000099', l11turn10 char(14) default '00000000000099', l10turn10 char(14) default '00000000000099', l9turn10 char(14) default '00000000000099',
+ l12turn11 char(14) default '00000000000099', l11turn11 char(14) default '00000000000099', l10turn11 char(14) default '00000000000099', l9turn11 char(14) default '00000000000099',
+
+ l8term int(4) default 0, l7term int(4) default 0, l6term int(4) default 0, l5term int(4) default 0,
+ l8turn0 char(14) default '00000000000099', l7turn0 char(14) default '00000000000099', l6turn0 char(14) default '00000000000099', l5turn0 char(14) default '00000000000099',
+ l8turn1 char(14) default '00000000000099', l7turn1 char(14) default '00000000000099', l6turn1 char(14) default '00000000000099', l5turn1 char(14) default '00000000000099',
+ l8turn2 char(14) default '00000000000099', l7turn2 char(14) default '00000000000099', l6turn2 char(14) default '00000000000099', l5turn2 char(14) default '00000000000099',
+ l8turn3 char(14) default '00000000000099', l7turn3 char(14) default '00000000000099', l6turn3 char(14) default '00000000000099', l5turn3 char(14) default '00000000000099',
+ l8turn4 char(14) default '00000000000099', l7turn4 char(14) default '00000000000099', l6turn4 char(14) default '00000000000099', l5turn4 char(14) default '00000000000099',
+ l8turn5 char(14) default '00000000000099', l7turn5 char(14) default '00000000000099', l6turn5 char(14) default '00000000000099', l5turn5 char(14) default '00000000000099',
+ l8turn6 char(14) default '00000000000099', l7turn6 char(14) default '00000000000099', l6turn6 char(14) default '00000000000099', l5turn6 char(14) default '00000000000099',
+ l8turn7 char(14) default '00000000000099', l7turn7 char(14) default '00000000000099', l6turn7 char(14) default '00000000000099', l5turn7 char(14) default '00000000000099',
+ l8turn8 char(14) default '00000000000099', l7turn8 char(14) default '00000000000099', l6turn8 char(14) default '00000000000099', l5turn8 char(14) default '00000000000099',
+ l8turn9 char(14) default '00000000000099', l7turn9 char(14) default '00000000000099', l6turn9 char(14) default '00000000000099', l5turn9 char(14) default '00000000000099',
+ l8turn10 char(14) default '00000000000099', l7turn10 char(14) default '00000000000099', l6turn10 char(14) default '00000000000099', l5turn10 char(14) default '00000000000099',
+ l8turn11 char(14) default '00000000000099', l7turn11 char(14) default '00000000000099', l6turn11 char(14) default '00000000000099', l5turn11 char(14) default '00000000000099',
+
+ PRIMARY KEY (nation)
+) ENGINE=INNODB ROW_FORMAT=DYNAMIC DEFAULT CHARSET=UTF8;
+
+###########################################################################
+## 도시 테이블
+###########################################################################
+## trade 100 이 표준 시세
+create table city (
+ city int(6) not null auto_increment,
+ name char(64) not null,
+ level int(1) default 0,
+ upgrading int(1) default 0,
+ nation int(6) default 0,
+ supply int(1) default 1,
+ path char(32) default '',
+ front int(1) default 0,
+ pop int(7) default 50000,
+ pop2 int(7) default 50000,
+ agri int(5) default 0,
+ agri2 int(5) default 0,
+ comm int(5) default 0,
+ comm2 int(5) default 0,
+ secu int(5) default 0,
+ secu2 int(5) default 0,
+ rate int(3) default 0,
+ trade int(3) default 100,
+ dead int(7) default 0,
+ def int(5) default 0,
+ def2 int(5) default 0,
+ wall int(5) default 0,
+ wall2 int(5) default 0,
+ gen1 int(4) default 0,
+ gen2 int(4) default 0,
+ gen3 int(4) default 0,
+ gen1set int(1) default 0,
+ gen2set int(1) default 0,
+ gen3set int(1) default 0,
+ state int(2) default 0,
+ region int(2) default 0,
+ term int(1) default 0,
+ conflict char(255) default '',
+ conflict2 char(255) default '',
+
+ PRIMARY KEY (city),
+ KEY (nation)
+) ENGINE=INNODB ROW_FORMAT=DYNAMIC DEFAULT CHARSET=UTF8;
+
+###########################################################################
+## 부대 테이블
+###########################################################################
+
+create table troop (
+ troop int(6) not null auto_increment,
+ name char(64) not null,
+ nation int(6) not null,
+ no int(6) not null,
+
+ PRIMARY KEY (troop)
+) ENGINE=INNODB ROW_FORMAT=DYNAMIC DEFAULT CHARSET=UTF8;
+
+###########################################################################
+## 토큰 테이블
+###########################################################################
+
+create table token (
+ token int(6) not null auto_increment,
+ id char(16) not null,
+ leader int(3) not null,
+ power int(3) not null,
+ intel int(3) not null,
+
+ PRIMARY KEY (token),
+ KEY(id)
+) ENGINE=INNODB ROW_FORMAT=DYNAMIC DEFAULT CHARSET=UTF8;
+
+##########################################################################
+## 락 테이블
+##########################################################################
+
+create table plock (
+ no int(11) not null auto_increment,
+ plock int(1) default 0,
+
+ PRIMARY KEY (no)
+ ) ENGINE=INNODB ROW_FORMAT=DYNAMIC DEFAULT CHARSET=UTF8;
+
+##########################################################################
+## 게임 테이블
+##########################################################################
+
+create table game (
+ no int(11) not null auto_increment,
+ startyear int(3) not null,
+ year int(3) not null,
+ month int(3) not null,
+ refresh int(9) default 0,
+ maxonline int(9) default 1,
+ maxrefresh int(9) default 1,
+ conlimit int(9) default 5,
+ conweight int(3) default 100,
+ develcost int(4) default 20,
+ online int(9) default 0,
+ onlinenation varchar(256) default '',
+ onlinegen varchar(1024) default '',
+ msg text default '',
+ maxgeneral int(3) default 100,
+ genius int(2) default 3,
+ normgeneral int(3) default 100,
+ maxnation int(3) default 50,
+ gold_rate int(3) default 100,
+ rice_rate int(3) default 100,
+ city_rate int(3) default 50,
+ turnterm int(1) default 1,
+ killturn int(6) default 80,
+ turntime datetime,
+ starttime datetime,
+ isUnited int(1) default 0,
+ scenario int(2) default 0,
+ img int(1) default 0,
+ extend int(1) default 0,
+ fiction int(1) default 0,
+ npcmode int(1) default 0,
+ tnmt_auto int(2) default 0, tnmt_time datetime default '2100-01-01 00:00:00',
+ tournament int(2) default 0, phase int(2) default 0,
+ tnmt_type int(2) default 0, tnmt_msg char(255) default '',
+ tnmt_trig int(2) default 0,
+ voteopen int(1) default 1,
+ vote text default '',
+ votecomment text default '',
+ npccount int(4) default 0,
+
+ bet0 int(8) default 0, bet1 int(8) default 0, bet2 int(8) default 0, bet3 int(8) default 0,
+ bet4 int(8) default 0, bet5 int(8) default 0, bet6 int(8) default 0, bet7 int(8) default 0,
+ bet8 int(8) default 0, bet9 int(8) default 0, bet10 int(8) default 0, bet11 int(8) default 0,
+ bet12 int(8) default 0, bet13 int(8) default 0, bet14 int(8) default 0, bet15 int(8) default 0,
+
+ att0 int(3) default 0, def0 int(3) default 0, spd0 int(3) default 0, avd0 int(3) default 0, ric0 int(3) default 0, cst0 int(3) default 0,
+ att1 int(3) default 0, def1 int(3) default 0, spd1 int(3) default 0, avd1 int(3) default 0, ric1 int(3) default 0, cst1 int(3) default 0,
+ att2 int(3) default 0, def2 int(3) default 0, spd2 int(3) default 0, avd2 int(3) default 0, ric2 int(3) default 0, cst2 int(3) default 0,
+ att3 int(3) default 0, def3 int(3) default 0, spd3 int(3) default 0, avd3 int(3) default 0, ric3 int(3) default 0, cst3 int(3) default 0,
+ att4 int(3) default 0, def4 int(3) default 0, spd4 int(3) default 0, avd4 int(3) default 0, ric4 int(3) default 0, cst4 int(3) default 0,
+ att5 int(3) default 0, def5 int(3) default 0, spd5 int(3) default 0, avd5 int(3) default 0, ric5 int(3) default 0, cst5 int(3) default 0,
+
+ att10 int(3) default 0, def10 int(3) default 0, spd10 int(3) default 0, avd10 int(3) default 0, ric10 int(3) default 0, cst10 int(3) default 0,
+ att11 int(3) default 0, def11 int(3) default 0, spd11 int(3) default 0, avd11 int(3) default 0, ric11 int(3) default 0, cst11 int(3) default 0,
+ att12 int(3) default 0, def12 int(3) default 0, spd12 int(3) default 0, avd12 int(3) default 0, ric12 int(3) default 0, cst12 int(3) default 0,
+ att13 int(3) default 0, def13 int(3) default 0, spd13 int(3) default 0, avd13 int(3) default 0, ric13 int(3) default 0, cst13 int(3) default 0,
+ att14 int(3) default 0, def14 int(3) default 0, spd14 int(3) default 0, avd14 int(3) default 0, ric14 int(3) default 0, cst14 int(3) default 0,
+
+ att20 int(3) default 0, def20 int(3) default 0, spd20 int(3) default 0, avd20 int(3) default 0, ric20 int(3) default 0, cst20 int(3) default 0,
+ att21 int(3) default 0, def21 int(3) default 0, spd21 int(3) default 0, avd21 int(3) default 0, ric21 int(3) default 0, cst21 int(3) default 0,
+ att22 int(3) default 0, def22 int(3) default 0, spd22 int(3) default 0, avd22 int(3) default 0, ric22 int(3) default 0, cst22 int(3) default 0,
+ att23 int(3) default 0, def23 int(3) default 0, spd23 int(3) default 0, avd23 int(3) default 0, ric23 int(3) default 0, cst23 int(3) default 0,
+ att24 int(3) default 0, def24 int(3) default 0, spd24 int(3) default 0, avd24 int(3) default 0, ric24 int(3) default 0, cst24 int(3) default 0,
+ att25 int(3) default 0, def25 int(3) default 0, spd25 int(3) default 0, avd25 int(3) default 0, ric25 int(3) default 0, cst25 int(3) default 0,
+ att26 int(3) default 0, def26 int(3) default 0, spd26 int(3) default 0, avd26 int(3) default 0, ric26 int(3) default 0, cst26 int(3) default 0,
+ att27 int(3) default 0, def27 int(3) default 0, spd27 int(3) default 0, avd27 int(3) default 0, ric27 int(3) default 0, cst27 int(3) default 0,
+
+ att30 int(3) default 0, def30 int(3) default 0, spd30 int(3) default 0, avd30 int(3) default 0, ric30 int(3) default 0, cst30 int(3) default 0,
+ att31 int(3) default 0, def31 int(3) default 0, spd31 int(3) default 0, avd31 int(3) default 0, ric31 int(3) default 0, cst31 int(3) default 0,
+ att32 int(3) default 0, def32 int(3) default 0, spd32 int(3) default 0, avd32 int(3) default 0, ric32 int(3) default 0, cst32 int(3) default 0,
+ att33 int(3) default 0, def33 int(3) default 0, spd33 int(3) default 0, avd33 int(3) default 0, ric33 int(3) default 0, cst33 int(3) default 0,
+ att34 int(3) default 0, def34 int(3) default 0, spd34 int(3) default 0, avd34 int(3) default 0, ric34 int(3) default 0, cst34 int(3) default 0,
+ att35 int(3) default 0, def35 int(3) default 0, spd35 int(3) default 0, avd35 int(3) default 0, ric35 int(3) default 0, cst35 int(3) default 0,
+ att36 int(3) default 0, def36 int(3) default 0, spd36 int(3) default 0, avd36 int(3) default 0, ric36 int(3) default 0, cst36 int(3) default 0,
+ att37 int(3) default 0, def37 int(3) default 0, spd37 int(3) default 0, avd37 int(3) default 0, ric37 int(3) default 0, cst37 int(3) default 0,
+ att38 int(3) default 0, def38 int(3) default 0, spd38 int(3) default 0, avd38 int(3) default 0, ric38 int(3) default 0, cst38 int(3) default 0,
+
+ att40 int(3) default 0, def40 int(3) default 0, spd40 int(3) default 0, avd40 int(3) default 0, ric40 int(3) default 0, cst40 int(3) default 0,
+ att41 int(3) default 0, def41 int(3) default 0, spd41 int(3) default 0, avd41 int(3) default 0, ric41 int(3) default 0, cst41 int(3) default 0,
+ att42 int(3) default 0, def42 int(3) default 0, spd42 int(3) default 0, avd42 int(3) default 0, ric42 int(3) default 0, cst42 int(3) default 0,
+ att43 int(3) default 0, def43 int(3) default 0, spd43 int(3) default 0, avd43 int(3) default 0, ric43 int(3) default 0, cst43 int(3) default 0,
+
+ PRIMARY KEY (no)
+ ) ENGINE=INNODB ROW_FORMAT=DYNAMIC DEFAULT CHARSET=UTF8;
+
+###########################################################################
+## 메시지 테이블
+###########################################################################
+CREATE TABLE `message` (
+ `id` INT(11) NOT NULL AUTO_INCREMENT,
+ `mailbox` INT(11) NOT NULL COMMENT '9999 == public, >= 9000 national',
+ `type` ENUM('private','national','public','diplomacy') NOT NULL,
+ `is_sender` BIT(1) NOT NULL,
+ `src` INT(11) NOT NULL,
+ `dest` INT(11) NOT NULL,
+ `time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
+ `valid_until` DATETIME NOT NULL DEFAULT '9999-12-31 23:59:59',
+ `message` TEXT NOT NULL COMMENT 'json',
+ PRIMARY KEY (`id`),
+ INDEX `by_mailbox` (`mailbox`, `type`, `time`)
+)
+COLLATE='utf8_general_ci'
+ENGINE=InnoDB;
+
+###########################################################################
+## 명전 테이블
+###########################################################################
+create table if not exists hall (
+ no int(6) not null auto_increment,
+ type int(2) default 0,
+ rank int(2) default 0,
+ name char(64) default '',
+ nation char(12) default '',
+ data int(5) default 0,
+ color char(12) default '',
+ picture char(32) default '',
+
+ PRIMARY KEY (no)
+ ) ENGINE=INNODB ROW_FORMAT=DYNAMIC DEFAULT CHARSET=UTF8;
+
+###########################################################################
+## 왕조 테이블
+###########################################################################
+create table if not exists emperior (
+ no int(6) not null auto_increment,
+ phase char(255) default '',
+ nation_count char(64) default '',
+ nation_name text default '',
+ nation_hist text default '',
+ gen_count char(64) default '',
+ personal_hist text default '',
+ special_hist text default '',
+ name char(64) default '',
+ type char(64) default '',
+ color char(6) default '',
+ year int(4) default 0,
+ month int(2) default 0,
+ power int(8) default 0,
+ gennum int(3) default 0,
+ citynum int(3) default 0,
+ pop char(255) default 0,
+ poprate char(255) default '',
+ gold int(9) default 0,
+ rice int(9) default 0,
+ l12name char(64) default '', l12pic char(32) default '',
+ l11name char(64) default '', l11pic char(32) default '',
+ l10name char(64) default '', l10pic char(32) default '',
+ l9name char(64) default '', l9pic char(32) default '',
+ l8name char(64) default '', l8pic char(32) default '',
+ l7name char(64) default '', l7pic char(32) default '',
+ l6name char(64) default '', l6pic char(32) default '',
+ l5name char(64) default '', l5pic char(32) default '',
+ tiger char(64) default '',
+ eagle char(64) default '',
+ gen text default '',
+ history text default '',
+
+ PRIMARY KEY (no)
+ ) ENGINE=INNODB ROW_FORMAT=COMPRESSED DEFAULT CHARSET=UTF8;
+
+###########################################################################
+## 외교 테이블
+###########################################################################
+create table diplomacy (
+ `no` INT(6) NOT NULL AUTO_INCREMENT,
+ `me` INT(6) NOT NULL,
+ `you` INT(6) NOT NULL,
+ `state` INT(6) NULL DEFAULT '0',
+ `term` INT(6) NULL DEFAULT '0',
+ `dead` INT(8) NULL DEFAULT '0',
+ `fixed` CHAR(128) NULL DEFAULT '',
+ `reserved` CHAR(128) NULL DEFAULT '',
+ `showing` DATETIME NULL DEFAULT NULL,
+
+ PRIMARY KEY (`no`),
+ UNIQUE INDEX `me` (`me`, `you`)
+ ) ENGINE=INNODB ROW_FORMAT=DYNAMIC DEFAULT CHARSET=UTF8;
+
+###########################################################################
+## 토너먼트 테이블
+###########################################################################
+create table tournament (
+ seq int(6) not null auto_increment,
+ no int(6) default 0,
+ npc int(6) default 0,
+ name char(64) default '',
+ w int(2) default 0,
+ b int(2) default 0,
+ h int(2) default 0,
+ ldr int(3) default 0,
+ pwr int(3) default 0,
+ itl int(3) default 0,
+ lvl int(3) default 0,
+ grp int(2) default 0,
+ grp_no int(2) default 0,
+ win int(2) default 0,
+ draw int(2) default 0,
+ lose int(2) default 0,
+ gl int(2) default 0,
+ prmt int(1) default 0,
+ PRIMARY KEY (seq)
+ ) ENGINE=INNODB ROW_FORMAT=DYNAMIC DEFAULT CHARSET=UTF8;
+
+###########################################################################
+## 거래 테이블
+###########################################################################
+create table auction (
+ no int(6) not null auto_increment,
+ type int(6) default 0,
+ no1 int(6) default 0,
+ name1 char(64) default '-',
+ stuff int(6) default 0,
+ amount int(6) default 0,
+ cost int(6) default 0,
+ value int(6) default 0,
+ topv int(6) default 0,
+ no2 int(6) default 0,
+ name2 char(64) default '-',
+ expire datetime,
+
+ PRIMARY KEY (no)
+ ) ENGINE=INNODB ROW_FORMAT=DYNAMIC DEFAULT CHARSET=UTF8;
+
+###########################################################################
+## 통계 테이블
+###########################################################################
+create table statistic (
+ no int(6) not null auto_increment,
+ year int(4) default 0,
+ month int(2) default 0,
+ nation_count int(2) default 0,
+ nation_name text default '',
+ nation_hist text default '',
+ gen_count varchar(32) default '',
+ personal_hist text default '',
+ special_hist text default '',
+ power_hist text default '',
+ crewtype text default '',
+ etc text default '',
+
+ PRIMARY KEY (no)
+ ) ENGINE=INNODB ROW_FORMAT=COMPRESSED DEFAULT CHARSET=UTF8;
+
+###########################################################################
+## 연감 테이블
+###########################################################################
+create table history (
+ no int(6) not null auto_increment,
+ year int(4) default 0,
+ month int(2) default 0,
+ map longtext default '',
+ log text default '',
+ genlog text default '',
+ nation text default '',
+ power text default '',
+ gen text default '',
+ city text default '',
+
+ PRIMARY KEY (no)
+ ) ENGINE=INNODB ROW_FORMAT=COMPRESSED DEFAULT CHARSET=UTF8;
+
+###########################################################################
+## 이벤트 핸들러 테이블
+###########################################################################
+
+CREATE TABLE `event` (
+ `id` INT(11) NOT NULL AUTO_INCREMENT,
+ `condition` MEDIUMTEXT NOT NULL COMMENT 'json',
+ `action` MEDIUMTEXT NOT NULL COMMENT 'json',
+ PRIMARY KEY (`id`)
+)
+ENGINE=InnoDB;
\ No newline at end of file