mirror of
https://github.com/fulpstation/fulpstation.git
synced 2025-12-10 18:11:47 +00:00
Apologies in advanced for cramming this all into one commit, but it's all fairly interdependent.
Removes the old tgstation database. It has been merged into the newer feedback database. All mentions of the old database have been replaced with the new one. This includes updating tgstation_schema.sql and dbconfig.txt. Removes README feedback.txt as it is now covered by the new schema. Removes the unused forum DB stuff, including forumdbconfig.txt. Updates the config, including both config.txt and game_options.txt. Many options have been moved into the latter. Updates configuration.dm to reflect these changes. Removes the config var/feature_object_spell_system as it did nothing.
This commit is contained in:
@@ -1,120 +0,0 @@
|
|||||||
CREATE TABLE `erro_admin` (
|
|
||||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
|
||||||
`ckey` varchar(32) NOT NULL,
|
|
||||||
`rank` varchar(32) NOT NULL DEFAULT 'Administrator',
|
|
||||||
`level` int(2) NOT NULL DEFAULT '0',
|
|
||||||
`flags` int(16) NOT NULL DEFAULT '0',
|
|
||||||
PRIMARY KEY (`id`)
|
|
||||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1 ;
|
|
||||||
|
|
||||||
CREATE TABLE `erro_admin_log` (
|
|
||||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
|
||||||
`datetime` datetime NOT NULL,
|
|
||||||
`adminckey` varchar(32) NOT NULL,
|
|
||||||
`adminip` varchar(18) NOT NULL,
|
|
||||||
`log` text NOT NULL,
|
|
||||||
PRIMARY KEY (`id`)
|
|
||||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1 ;
|
|
||||||
|
|
||||||
CREATE TABLE `erro_ban` (
|
|
||||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
|
||||||
`bantime` datetime NOT NULL,
|
|
||||||
`serverip` varchar(32) NOT NULL,
|
|
||||||
`bantype` varchar(32) NOT NULL,
|
|
||||||
`reason` text NOT NULL,
|
|
||||||
`job` varchar(32) DEFAULT NULL,
|
|
||||||
`duration` int(11) NOT NULL,
|
|
||||||
`rounds` int(11) DEFAULT NULL,
|
|
||||||
`expiration_time` datetime NOT NULL,
|
|
||||||
`ckey` varchar(32) NOT NULL,
|
|
||||||
`computerid` varchar(32) NOT NULL,
|
|
||||||
`ip` varchar(32) NOT NULL,
|
|
||||||
`a_ckey` varchar(32) NOT NULL,
|
|
||||||
`a_computerid` varchar(32) NOT NULL,
|
|
||||||
`a_ip` varchar(32) NOT NULL,
|
|
||||||
`who` text NOT NULL,
|
|
||||||
`adminwho` text NOT NULL,
|
|
||||||
`edits` text,
|
|
||||||
`unbanned` tinyint(1) DEFAULT NULL,
|
|
||||||
`unbanned_datetime` datetime DEFAULT NULL,
|
|
||||||
`unbanned_ckey` varchar(32) DEFAULT NULL,
|
|
||||||
`unbanned_computerid` varchar(32) DEFAULT NULL,
|
|
||||||
`unbanned_ip` varchar(32) DEFAULT NULL,
|
|
||||||
PRIMARY KEY (`id`)
|
|
||||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1 ;
|
|
||||||
|
|
||||||
CREATE TABLE `erro_feedback` (
|
|
||||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
|
||||||
`time` datetime NOT NULL,
|
|
||||||
`round_id` int(8) NOT NULL,
|
|
||||||
`var_name` varchar(32) NOT NULL,
|
|
||||||
`var_value` int(16) DEFAULT NULL,
|
|
||||||
`details` text,
|
|
||||||
PRIMARY KEY (`id`)
|
|
||||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 ;
|
|
||||||
|
|
||||||
CREATE TABLE `erro_player` (
|
|
||||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
|
||||||
`ckey` varchar(32) NOT NULL,
|
|
||||||
`firstseen` datetime NOT NULL,
|
|
||||||
`lastseen` datetime NOT NULL,
|
|
||||||
`ip` varchar(18) NOT NULL,
|
|
||||||
`computerid` varchar(32) NOT NULL,
|
|
||||||
`lastadminrank` varchar(32) NOT NULL DEFAULT 'Player',
|
|
||||||
PRIMARY KEY (`id`),
|
|
||||||
UNIQUE KEY `ckey` (`ckey`)
|
|
||||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1 ;
|
|
||||||
|
|
||||||
CREATE TABLE `erro_poll_option` (
|
|
||||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
|
||||||
`pollid` int(11) NOT NULL,
|
|
||||||
`text` varchar(255) NOT NULL,
|
|
||||||
`percentagecalc` tinyint(1) NOT NULL DEFAULT '1',
|
|
||||||
`minval` int(3) DEFAULT NULL,
|
|
||||||
`maxval` int(3) DEFAULT NULL,
|
|
||||||
`descmin` varchar(32) DEFAULT NULL,
|
|
||||||
`descmid` varchar(32) DEFAULT NULL,
|
|
||||||
`descmax` varchar(32) DEFAULT NULL,
|
|
||||||
PRIMARY KEY (`id`)
|
|
||||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1 ;
|
|
||||||
|
|
||||||
CREATE TABLE `erro_poll_question` (
|
|
||||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
|
||||||
`polltype` varchar(16) NOT NULL DEFAULT 'OPTION',
|
|
||||||
`starttime` datetime NOT NULL,
|
|
||||||
`endtime` datetime NOT NULL,
|
|
||||||
`question` varchar(255) NOT NULL,
|
|
||||||
`adminonly` tinyint(1) DEFAULT '0',
|
|
||||||
PRIMARY KEY (`id`)
|
|
||||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1 ;
|
|
||||||
|
|
||||||
CREATE TABLE `erro_poll_textreply` (
|
|
||||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
|
||||||
`datetime` datetime NOT NULL,
|
|
||||||
`pollid` int(11) NOT NULL,
|
|
||||||
`ckey` varchar(32) NOT NULL,
|
|
||||||
`ip` varchar(18) NOT NULL,
|
|
||||||
`replytext` text NOT NULL,
|
|
||||||
`adminrank` varchar(32) NOT NULL DEFAULT 'Player',
|
|
||||||
PRIMARY KEY (`id`)
|
|
||||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1 ;
|
|
||||||
|
|
||||||
CREATE TABLE `erro_poll_vote` (
|
|
||||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
|
||||||
`datetime` datetime NOT NULL,
|
|
||||||
`pollid` int(11) NOT NULL,
|
|
||||||
`optionid` int(11) NOT NULL,
|
|
||||||
`ckey` varchar(255) NOT NULL,
|
|
||||||
`ip` varchar(16) NOT NULL,
|
|
||||||
`adminrank` varchar(32) NOT NULL,
|
|
||||||
`rating` int(2) DEFAULT NULL,
|
|
||||||
PRIMARY KEY (`id`)
|
|
||||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1 ;
|
|
||||||
|
|
||||||
CREATE TABLE `erro_privacy` (
|
|
||||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
|
||||||
`datetime` datetime NOT NULL,
|
|
||||||
`ckey` varchar(32) NOT NULL,
|
|
||||||
`option` varchar(128) NOT NULL,
|
|
||||||
PRIMARY KEY (`id`)
|
|
||||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1 ;
|
|
||||||
@@ -1,100 +1,303 @@
|
|||||||
SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
|
CREATE DATABASE IF NOT EXISTS `feedback` /*!40100 DEFAULT CHARACTER SET latin1 */;
|
||||||
SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
|
USE `feedback`;
|
||||||
SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='TRADITIONAL';
|
|
||||||
|
|
||||||
CREATE SCHEMA IF NOT EXISTS `mydb` DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci ;
|
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
||||||
CREATE SCHEMA IF NOT EXISTS `tgstation` DEFAULT CHARACTER SET latin1 ;
|
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
||||||
USE `mydb` ;
|
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
|
||||||
USE `tgstation` ;
|
/*!40101 SET NAMES utf8 */;
|
||||||
|
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
|
||||||
|
/*!40103 SET TIME_ZONE='+00:00' */;
|
||||||
|
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
|
||||||
|
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
|
||||||
|
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
|
||||||
|
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
|
||||||
|
|
||||||
-- -----------------------------------------------------
|
--
|
||||||
-- Table `tgstation`.`death`
|
-- Table structure for table `erro_admin`
|
||||||
-- -----------------------------------------------------
|
--
|
||||||
CREATE TABLE IF NOT EXISTS `tgstation`.`death` (
|
|
||||||
`id` INT(11) NOT NULL AUTO_INCREMENT ,
|
|
||||||
`pod` TEXT NOT NULL COMMENT 'Place of death' ,
|
|
||||||
`coord` TEXT NOT NULL COMMENT 'X, Y, Z POD' ,
|
|
||||||
`tod` DATETIME NOT NULL COMMENT 'Time of death' ,
|
|
||||||
`job` TEXT NOT NULL ,
|
|
||||||
`special` TEXT NOT NULL ,
|
|
||||||
`name` TEXT NOT NULL ,
|
|
||||||
`byondkey` TEXT NOT NULL ,
|
|
||||||
`laname` TEXT NOT NULL COMMENT 'Last attacker name' ,
|
|
||||||
`lakey` TEXT NOT NULL COMMENT 'Last attacker key' ,
|
|
||||||
`gender` TEXT NOT NULL ,
|
|
||||||
`bruteloss` INT(11) NOT NULL ,
|
|
||||||
`brainloss` INT(11) NOT NULL ,
|
|
||||||
`fireloss` INT(11) NOT NULL ,
|
|
||||||
`oxyloss` INT(11) NOT NULL ,
|
|
||||||
PRIMARY KEY (`id`) )
|
|
||||||
ENGINE = MyISAM
|
|
||||||
AUTO_INCREMENT = 3409
|
|
||||||
DEFAULT CHARACTER SET = latin1;
|
|
||||||
|
|
||||||
|
DROP TABLE IF EXISTS `erro_admin`;
|
||||||
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||||
|
/*!40101 SET character_set_client = utf8 */;
|
||||||
|
CREATE TABLE `erro_admin` (
|
||||||
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||||
|
`ckey` varchar(32) NOT NULL,
|
||||||
|
`rank` varchar(32) NOT NULL DEFAULT 'Administrator',
|
||||||
|
`level` int(2) NOT NULL DEFAULT '0',
|
||||||
|
`flags` int(16) NOT NULL DEFAULT '0',
|
||||||
|
`email` varchar(45) DEFAULT NULL,
|
||||||
|
PRIMARY KEY (`id`)
|
||||||
|
) ENGINE=InnoDB AUTO_INCREMENT=77 DEFAULT CHARSET=latin1;
|
||||||
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||||
|
|
||||||
-- -----------------------------------------------------
|
--
|
||||||
-- Table `tgstation`.`karma`
|
-- Table structure for table `erro_admin_log`
|
||||||
-- -----------------------------------------------------
|
--
|
||||||
CREATE TABLE IF NOT EXISTS `tgstation`.`karma` (
|
|
||||||
`id` INT(11) NOT NULL AUTO_INCREMENT ,
|
|
||||||
`spendername` TEXT NOT NULL ,
|
|
||||||
`spenderkey` TEXT NOT NULL ,
|
|
||||||
`receivername` TEXT NOT NULL ,
|
|
||||||
`receiverkey` TEXT NOT NULL ,
|
|
||||||
`receiverrole` TEXT NOT NULL ,
|
|
||||||
`receiverspecial` TEXT NOT NULL ,
|
|
||||||
`isnegative` TINYINT(1) NOT NULL ,
|
|
||||||
`spenderip` TEXT NOT NULL ,
|
|
||||||
`time` DATETIME NOT NULL ,
|
|
||||||
PRIMARY KEY (`id`) )
|
|
||||||
ENGINE = MyISAM
|
|
||||||
AUTO_INCREMENT = 943
|
|
||||||
DEFAULT CHARACTER SET = latin1;
|
|
||||||
|
|
||||||
|
DROP TABLE IF EXISTS `erro_admin_log`;
|
||||||
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||||
|
/*!40101 SET character_set_client = utf8 */;
|
||||||
|
CREATE TABLE `erro_admin_log` (
|
||||||
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||||
|
`datetime` datetime NOT NULL,
|
||||||
|
`adminckey` varchar(32) NOT NULL,
|
||||||
|
`adminip` varchar(18) NOT NULL,
|
||||||
|
`log` text NOT NULL,
|
||||||
|
PRIMARY KEY (`id`)
|
||||||
|
) ENGINE=InnoDB AUTO_INCREMENT=560 DEFAULT CHARSET=latin1;
|
||||||
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||||
|
|
||||||
-- -----------------------------------------------------
|
--
|
||||||
-- Table `tgstation`.`karmatotals`
|
-- Table structure for table `erro_ban`
|
||||||
-- -----------------------------------------------------
|
--
|
||||||
CREATE TABLE IF NOT EXISTS `tgstation`.`karmatotals` (
|
|
||||||
`id` INT(11) NOT NULL AUTO_INCREMENT ,
|
|
||||||
`byondkey` TEXT NOT NULL ,
|
|
||||||
`karma` INT(11) NOT NULL ,
|
|
||||||
PRIMARY KEY (`id`) )
|
|
||||||
ENGINE = MyISAM
|
|
||||||
AUTO_INCREMENT = 244
|
|
||||||
DEFAULT CHARACTER SET = latin1;
|
|
||||||
|
|
||||||
|
DROP TABLE IF EXISTS `erro_ban`;
|
||||||
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||||
|
/*!40101 SET character_set_client = utf8 */;
|
||||||
|
CREATE TABLE `erro_ban` (
|
||||||
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||||
|
`bantime` datetime NOT NULL,
|
||||||
|
`serverip` varchar(32) NOT NULL,
|
||||||
|
`bantype` varchar(32) NOT NULL,
|
||||||
|
`reason` text NOT NULL,
|
||||||
|
`job` varchar(32) DEFAULT NULL,
|
||||||
|
`duration` int(11) NOT NULL,
|
||||||
|
`rounds` int(11) DEFAULT NULL,
|
||||||
|
`expiration_time` datetime NOT NULL,
|
||||||
|
`ckey` varchar(32) NOT NULL,
|
||||||
|
`computerid` varchar(32) NOT NULL,
|
||||||
|
`ip` varchar(32) NOT NULL,
|
||||||
|
`a_ckey` varchar(32) NOT NULL,
|
||||||
|
`a_computerid` varchar(32) NOT NULL,
|
||||||
|
`a_ip` varchar(32) NOT NULL,
|
||||||
|
`who` text NOT NULL,
|
||||||
|
`adminwho` text NOT NULL,
|
||||||
|
`edits` text,
|
||||||
|
`unbanned` int(2) DEFAULT NULL,
|
||||||
|
`unbanned_datetime` datetime DEFAULT NULL,
|
||||||
|
`unbanned_ckey` varchar(32) DEFAULT NULL,
|
||||||
|
`unbanned_computerid` varchar(32) DEFAULT NULL,
|
||||||
|
`unbanned_ip` varchar(32) DEFAULT NULL,
|
||||||
|
PRIMARY KEY (`id`)
|
||||||
|
) ENGINE=InnoDB AUTO_INCREMENT=7755 DEFAULT CHARSET=latin1;
|
||||||
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||||
|
|
||||||
-- -----------------------------------------------------
|
--
|
||||||
-- Table `tgstation`.`library`
|
-- Table structure for table `erro_connection_log`
|
||||||
-- -----------------------------------------------------
|
--
|
||||||
CREATE TABLE IF NOT EXISTS `tgstation`.`library` (
|
|
||||||
`id` INT(11) NOT NULL AUTO_INCREMENT ,
|
|
||||||
`author` TEXT NOT NULL ,
|
|
||||||
`title` TEXT NOT NULL ,
|
|
||||||
`content` TEXT NOT NULL ,
|
|
||||||
`category` TEXT NOT NULL ,
|
|
||||||
PRIMARY KEY (`id`) )
|
|
||||||
ENGINE = MyISAM
|
|
||||||
AUTO_INCREMENT = 184
|
|
||||||
DEFAULT CHARACTER SET = latin1;
|
|
||||||
|
|
||||||
|
DROP TABLE IF EXISTS `erro_connection_log`;
|
||||||
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||||
|
/*!40101 SET character_set_client = utf8 */;
|
||||||
|
CREATE TABLE `erro_connection_log` (
|
||||||
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||||
|
`datetime` datetime DEFAULT NULL,
|
||||||
|
`serverip` varchar(45) DEFAULT NULL,
|
||||||
|
`ckey` varchar(45) DEFAULT NULL,
|
||||||
|
`ip` varchar(18) DEFAULT NULL,
|
||||||
|
`computerid` varchar(45) DEFAULT NULL,
|
||||||
|
PRIMARY KEY (`id`)
|
||||||
|
) ENGINE=InnoDB AUTO_INCREMENT=311192 DEFAULT CHARSET=latin1;
|
||||||
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||||
|
|
||||||
-- -----------------------------------------------------
|
--
|
||||||
-- Table `tgstation`.`population`
|
-- Table structure for table `erro_death`
|
||||||
-- -----------------------------------------------------
|
--
|
||||||
CREATE TABLE IF NOT EXISTS `tgstation`.`population` (
|
|
||||||
`id` INT(11) NOT NULL AUTO_INCREMENT ,
|
|
||||||
`playercount` INT(11) NULL DEFAULT NULL ,
|
|
||||||
`admincount` INT(11) NULL DEFAULT NULL ,
|
|
||||||
`time` DATETIME NOT NULL ,
|
|
||||||
PRIMARY KEY (`id`) )
|
|
||||||
ENGINE = MyISAM
|
|
||||||
AUTO_INCREMENT = 2544
|
|
||||||
DEFAULT CHARACTER SET = latin1;
|
|
||||||
|
|
||||||
|
DROP TABLE IF EXISTS `erro_death`;
|
||||||
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||||
|
/*!40101 SET character_set_client = utf8 */;
|
||||||
|
CREATE TABLE `erro_death` (
|
||||||
|
`id` int(11) NOT NULL DEFAULT '0',
|
||||||
|
`pod` text NOT NULL COMMENT 'Place of death',
|
||||||
|
`coord` text NOT NULL COMMENT 'X, Y, Z POD',
|
||||||
|
`tod` datetime NOT NULL COMMENT 'Time of death',
|
||||||
|
`job` text NOT NULL,
|
||||||
|
`special` text NOT NULL,
|
||||||
|
`name` text NOT NULL,
|
||||||
|
`byondkey` text NOT NULL,
|
||||||
|
`laname` text NOT NULL COMMENT 'Last attacker name',
|
||||||
|
`lakey` text NOT NULL COMMENT 'Last attacker key',
|
||||||
|
`gender` text NOT NULL,
|
||||||
|
`bruteloss` int(11) NOT NULL,
|
||||||
|
`brainloss` int(11) NOT NULL,
|
||||||
|
`fireloss` int(11) NOT NULL,
|
||||||
|
`oxyloss` int(11) NOT NULL
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
|
||||||
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Table structure for table `erro_feedback`
|
||||||
|
--
|
||||||
|
|
||||||
SET SQL_MODE=@OLD_SQL_MODE;
|
DROP TABLE IF EXISTS `erro_feedback`;
|
||||||
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||||
SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;
|
/*!40101 SET character_set_client = utf8 */;
|
||||||
|
CREATE TABLE `erro_feedback` (
|
||||||
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||||
|
`time` datetime NOT NULL,
|
||||||
|
`round_id` int(8) NOT NULL,
|
||||||
|
`var_name` varchar(32) NOT NULL,
|
||||||
|
`var_value` int(16) DEFAULT NULL,
|
||||||
|
`details` text,
|
||||||
|
PRIMARY KEY (`id`)
|
||||||
|
) ENGINE=MyISAM AUTO_INCREMENT=456134 DEFAULT CHARSET=latin1;
|
||||||
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Table structure for table `erro_legacy_population`
|
||||||
|
--
|
||||||
|
|
||||||
|
DROP TABLE IF EXISTS `erro_legacy_population`;
|
||||||
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||||
|
/*!40101 SET character_set_client = utf8 */;
|
||||||
|
CREATE TABLE `erro_legacy_population` (
|
||||||
|
`id` int(11) NOT NULL DEFAULT '0',
|
||||||
|
`playercount` int(11) DEFAULT NULL,
|
||||||
|
`admincount` int(11) DEFAULT NULL,
|
||||||
|
`time` datetime NOT NULL
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
|
||||||
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Table structure for table `erro_library`
|
||||||
|
--
|
||||||
|
|
||||||
|
DROP TABLE IF EXISTS `erro_library`;
|
||||||
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||||
|
/*!40101 SET character_set_client = utf8 */;
|
||||||
|
CREATE TABLE `erro_library` (
|
||||||
|
`id` int(11) NOT NULL DEFAULT '0',
|
||||||
|
`author` text NOT NULL,
|
||||||
|
`title` text NOT NULL,
|
||||||
|
`content` text NOT NULL,
|
||||||
|
`category` text NOT NULL
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
|
||||||
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Table structure for table `erro_player`
|
||||||
|
--
|
||||||
|
|
||||||
|
DROP TABLE IF EXISTS `erro_player`;
|
||||||
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||||
|
/*!40101 SET character_set_client = utf8 */;
|
||||||
|
CREATE TABLE `erro_player` (
|
||||||
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||||
|
`ckey` varchar(32) NOT NULL,
|
||||||
|
`firstseen` datetime NOT NULL,
|
||||||
|
`lastseen` datetime NOT NULL,
|
||||||
|
`ip` varchar(18) NOT NULL,
|
||||||
|
`computerid` varchar(32) NOT NULL,
|
||||||
|
`lastadminrank` varchar(32) NOT NULL DEFAULT 'Player',
|
||||||
|
PRIMARY KEY (`id`),
|
||||||
|
UNIQUE KEY `ckey` (`ckey`)
|
||||||
|
) ENGINE=InnoDB AUTO_INCREMENT=8849 DEFAULT CHARSET=latin1;
|
||||||
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Table structure for table `erro_poll_option`
|
||||||
|
--
|
||||||
|
|
||||||
|
DROP TABLE IF EXISTS `erro_poll_option`;
|
||||||
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||||
|
/*!40101 SET character_set_client = utf8 */;
|
||||||
|
CREATE TABLE `erro_poll_option` (
|
||||||
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||||
|
`pollid` int(11) NOT NULL,
|
||||||
|
`text` varchar(255) NOT NULL,
|
||||||
|
`percentagecalc` tinyint(1) NOT NULL DEFAULT '1',
|
||||||
|
`minval` int(3) DEFAULT NULL,
|
||||||
|
`maxval` int(3) DEFAULT NULL,
|
||||||
|
`descmin` varchar(32) DEFAULT NULL,
|
||||||
|
`descmid` varchar(32) DEFAULT NULL,
|
||||||
|
`descmax` varchar(32) DEFAULT NULL,
|
||||||
|
PRIMARY KEY (`id`)
|
||||||
|
) ENGINE=InnoDB AUTO_INCREMENT=330 DEFAULT CHARSET=latin1;
|
||||||
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Table structure for table `erro_poll_question`
|
||||||
|
--
|
||||||
|
|
||||||
|
DROP TABLE IF EXISTS `erro_poll_question`;
|
||||||
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||||
|
/*!40101 SET character_set_client = utf8 */;
|
||||||
|
CREATE TABLE `erro_poll_question` (
|
||||||
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||||
|
`polltype` varchar(16) NOT NULL DEFAULT 'OPTION',
|
||||||
|
`starttime` datetime NOT NULL,
|
||||||
|
`endtime` datetime NOT NULL,
|
||||||
|
`question` varchar(255) NOT NULL,
|
||||||
|
`adminonly` tinyint(1) DEFAULT '0',
|
||||||
|
`multiplechoiceoptions` int(2) DEFAULT NULL,
|
||||||
|
PRIMARY KEY (`id`)
|
||||||
|
) ENGINE=InnoDB AUTO_INCREMENT=62 DEFAULT CHARSET=latin1;
|
||||||
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Table structure for table `erro_poll_textreply`
|
||||||
|
--
|
||||||
|
|
||||||
|
DROP TABLE IF EXISTS `erro_poll_textreply`;
|
||||||
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||||
|
/*!40101 SET character_set_client = utf8 */;
|
||||||
|
CREATE TABLE `erro_poll_textreply` (
|
||||||
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||||
|
`datetime` datetime NOT NULL,
|
||||||
|
`pollid` int(11) NOT NULL,
|
||||||
|
`ckey` varchar(32) NOT NULL,
|
||||||
|
`ip` varchar(18) NOT NULL,
|
||||||
|
`replytext` text NOT NULL,
|
||||||
|
`adminrank` varchar(32) NOT NULL DEFAULT 'Player',
|
||||||
|
PRIMARY KEY (`id`)
|
||||||
|
) ENGINE=InnoDB AUTO_INCREMENT=144 DEFAULT CHARSET=latin1;
|
||||||
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Table structure for table `erro_poll_vote`
|
||||||
|
--
|
||||||
|
|
||||||
|
DROP TABLE IF EXISTS `erro_poll_vote`;
|
||||||
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||||
|
/*!40101 SET character_set_client = utf8 */;
|
||||||
|
CREATE TABLE `erro_poll_vote` (
|
||||||
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||||
|
`datetime` datetime NOT NULL,
|
||||||
|
`pollid` int(11) NOT NULL,
|
||||||
|
`optionid` int(11) NOT NULL,
|
||||||
|
`ckey` varchar(255) NOT NULL,
|
||||||
|
`ip` varchar(16) NOT NULL,
|
||||||
|
`adminrank` varchar(32) NOT NULL,
|
||||||
|
`rating` int(2) DEFAULT NULL,
|
||||||
|
PRIMARY KEY (`id`)
|
||||||
|
) ENGINE=InnoDB AUTO_INCREMENT=15753 DEFAULT CHARSET=latin1;
|
||||||
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Table structure for table `erro_privacy`
|
||||||
|
--
|
||||||
|
|
||||||
|
DROP TABLE IF EXISTS `erro_privacy`;
|
||||||
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||||
|
/*!40101 SET character_set_client = utf8 */;
|
||||||
|
CREATE TABLE `erro_privacy` (
|
||||||
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||||
|
`datetime` datetime NOT NULL,
|
||||||
|
`ckey` varchar(32) NOT NULL,
|
||||||
|
`option` varchar(128) NOT NULL,
|
||||||
|
PRIMARY KEY (`id`)
|
||||||
|
) ENGINE=InnoDB AUTO_INCREMENT=5011 DEFAULT CHARSET=latin1;
|
||||||
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||||
|
|
||||||
|
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
|
||||||
|
|
||||||
|
/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
|
||||||
|
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
|
||||||
|
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
|
||||||
|
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
|
||||||
|
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
|
||||||
|
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
|
||||||
|
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
|
||||||
|
|
||||||
|
-- Dump completed on 2013-03-24 18:02:35
|
||||||
@@ -29,23 +29,12 @@
|
|||||||
var/vote_no_default = 0 // vote does not default to nochange/norestart (tbi)
|
var/vote_no_default = 0 // vote does not default to nochange/norestart (tbi)
|
||||||
var/vote_no_dead = 0 // dead people can't vote (tbi)
|
var/vote_no_dead = 0 // dead people can't vote (tbi)
|
||||||
var/del_new_on_log = 1 // del's new players if they log before they spawn in
|
var/del_new_on_log = 1 // del's new players if they log before they spawn in
|
||||||
var/feature_object_spell_system = 0 //spawns a spellbook which gives object-type spells instead of verb-type spells for the wizard
|
|
||||||
var/traitor_scaling = 0 //if amount of traitors scales based on amount of players
|
|
||||||
var/protect_roles_from_antagonist = 0// If security and such can be tratior/cult/other
|
|
||||||
var/continous_rounds = 0 // Gamemodes which end instantly will instead keep on going until the round ends by escape shuttle or nuke.
|
|
||||||
var/allow_Metadata = 0 // Metadata is supported.
|
var/allow_Metadata = 0 // Metadata is supported.
|
||||||
var/popup_admin_pm = 0 //adminPMs to non-admins show in a pop-up 'reply' window when set to 1.
|
var/popup_admin_pm = 0 //adminPMs to non-admins show in a pop-up 'reply' window when set to 1.
|
||||||
var/Ticklag = 0.9
|
var/Ticklag = 0.9
|
||||||
var/Tickcomp = 0
|
var/Tickcomp = 0
|
||||||
var/allow_holidays = 0 //toggles whether holiday-specific content should be used
|
var/allow_holidays = 0 //toggles whether holiday-specific content should be used
|
||||||
|
|
||||||
var/list/mode_names = list()
|
|
||||||
var/list/modes = list() // allowed modes
|
|
||||||
var/list/votable_modes = list() // votable modes
|
|
||||||
var/list/probabilities = list() // relative probability of each mode
|
|
||||||
var/humans_need_surnames = 0
|
|
||||||
var/allow_random_events = 0 // enables random events mid-round when set to 1
|
|
||||||
var/allow_ai = 1 // allow ai job
|
|
||||||
var/hostedby = null
|
var/hostedby = null
|
||||||
var/respawn = 1
|
var/respawn = 1
|
||||||
var/guest_jobban = 1
|
var/guest_jobban = 1
|
||||||
@@ -61,7 +50,27 @@
|
|||||||
var/wikiurl
|
var/wikiurl
|
||||||
var/forumurl
|
var/forumurl
|
||||||
|
|
||||||
//Alert level description
|
var/forbid_singulo_possession = 0
|
||||||
|
var/useircbot = 0
|
||||||
|
|
||||||
|
var/admin_legacy_system = 0 //Defines whether the server uses the legacy admin system with admins.txt or the SQL system. Config option in config.txt
|
||||||
|
var/ban_legacy_system = 0 //Defines whether the server uses the legacy banning system with the files in /data or the SQL system. Config option in config.txt
|
||||||
|
var/use_age_restriction_for_jobs = 0 //Do jobs use account age restrictions? --requires database
|
||||||
|
|
||||||
|
//game_options.txt configs
|
||||||
|
var/list/mode_names = list()
|
||||||
|
var/list/modes = list() // allowed modes
|
||||||
|
var/list/votable_modes = list() // votable modes
|
||||||
|
var/list/probabilities = list() // relative probability of each mode
|
||||||
|
|
||||||
|
var/humans_need_surnames = 0
|
||||||
|
var/allow_random_events = 0 // enables random events mid-round when set to 1
|
||||||
|
var/allow_ai = 1 // allow ai job
|
||||||
|
|
||||||
|
var/traitor_scaling = 0 //if amount of traitors scales based on amount of players
|
||||||
|
var/protect_roles_from_antagonist = 0// If security and such can be tratior/cult/other
|
||||||
|
var/continous_rounds = 0 // Gamemodes which end instantly will instead keep on going until the round ends by escape shuttle or nuke.
|
||||||
|
|
||||||
var/alert_desc_green = "All threats to the station have passed. Security may not have weapons visible, privacy laws are once again fully enforced."
|
var/alert_desc_green = "All threats to the station have passed. Security may not have weapons visible, privacy laws are once again fully enforced."
|
||||||
var/alert_desc_blue_upto = "The station has received reliable information about possible hostile activity on the station. Security staff may have weapons visible, random searches are permitted."
|
var/alert_desc_blue_upto = "The station has received reliable information about possible hostile activity on the station. Security staff may have weapons visible, random searches are permitted."
|
||||||
var/alert_desc_blue_downto = "The immediate threat has passed. Security may no longer have weapons drawn at all times, but may continue to have them visible. Random searches are still allowed."
|
var/alert_desc_blue_downto = "The immediate threat has passed. Security may no longer have weapons drawn at all times, but may continue to have them visible. Random searches are still allowed."
|
||||||
@@ -69,11 +78,6 @@
|
|||||||
var/alert_desc_red_downto = "The self-destruct mechanism has been deactivated, there is still however an immediate serious threat to the station. Security may have weapons unholstered at all times, random searches are allowed and advised."
|
var/alert_desc_red_downto = "The self-destruct mechanism has been deactivated, there is still however an immediate serious threat to the station. Security may have weapons unholstered at all times, random searches are allowed and advised."
|
||||||
var/alert_desc_delta = "The station's self-destruct mechanism has been engaged. All crew are instructed to obey all instructions given by heads of staff. Any violations of these orders can be punished by death. This is not a drill."
|
var/alert_desc_delta = "The station's self-destruct mechanism has been engaged. All crew are instructed to obey all instructions given by heads of staff. Any violations of these orders can be punished by death. This is not a drill."
|
||||||
|
|
||||||
var/forbid_singulo_possession = 0
|
|
||||||
var/useircbot = 0
|
|
||||||
|
|
||||||
//game_options.txt configs
|
|
||||||
|
|
||||||
var/health_threshold_crit = 0
|
var/health_threshold_crit = 0
|
||||||
var/health_threshold_dead = -100
|
var/health_threshold_dead = -100
|
||||||
|
|
||||||
@@ -94,12 +98,7 @@
|
|||||||
var/slime_delay = 0
|
var/slime_delay = 0
|
||||||
var/animal_delay = 0
|
var/animal_delay = 0
|
||||||
|
|
||||||
var/admin_legacy_system = 0 //Defines whether the server uses the legacy admin system with admins.txt or the SQL system. Config option in config.txt
|
|
||||||
var/ban_legacy_system = 0 //Defines whether the server uses the legacy banning system with the files in /data or the SQL system. Config option in config.txt
|
|
||||||
var/use_age_restriction_for_jobs = 0 //Do jobs use account age restrictions? --requires database
|
|
||||||
|
|
||||||
var/use_recursive_explosions //Defines whether the server uses recursive or circular explosions.
|
var/use_recursive_explosions //Defines whether the server uses recursive or circular explosions.
|
||||||
var/roundstart_station_randomization = 1 //Enable this to have some randomization happen on the station.
|
|
||||||
|
|
||||||
var/assistant_maint = 0 //Do assistants get maint access?
|
var/assistant_maint = 0 //Do assistants get maint access?
|
||||||
var/gateway_delay = 18000 //How long the gateway takes before it activates. Default is half an hour.
|
var/gateway_delay = 18000 //How long the gateway takes before it activates. Default is half an hour.
|
||||||
@@ -108,21 +107,21 @@
|
|||||||
|
|
||||||
/datum/configuration/New()
|
/datum/configuration/New()
|
||||||
var/list/L = typesof(/datum/game_mode) - /datum/game_mode
|
var/list/L = typesof(/datum/game_mode) - /datum/game_mode
|
||||||
for (var/T in L)
|
for(var/T in L)
|
||||||
// I wish I didn't have to instance the game modes in order to look up
|
// I wish I didn't have to instance the game modes in order to look up
|
||||||
// their information, but it is the only way (at least that I know of).
|
// their information, but it is the only way (at least that I know of).
|
||||||
var/datum/game_mode/M = new T()
|
var/datum/game_mode/M = new T()
|
||||||
|
|
||||||
if (M.config_tag)
|
if(M.config_tag)
|
||||||
if(!(M.config_tag in modes)) // ensure each mode is added only once
|
if(!(M.config_tag in modes)) // ensure each mode is added only once
|
||||||
diary << "Adding game mode [M.name] ([M.config_tag]) to configuration."
|
diary << "Adding game mode [M.name] ([M.config_tag]) to configuration."
|
||||||
src.modes += M.config_tag
|
modes += M.config_tag
|
||||||
src.mode_names[M.config_tag] = M.name
|
mode_names[M.config_tag] = M.name
|
||||||
src.probabilities[M.config_tag] = M.probability
|
probabilities[M.config_tag] = M.probability
|
||||||
if (M.votable)
|
if(M.votable)
|
||||||
src.votable_modes += M.config_tag
|
votable_modes += M.config_tag
|
||||||
del(M)
|
del(M)
|
||||||
src.votable_modes += "secret"
|
votable_modes += "secret"
|
||||||
|
|
||||||
/datum/configuration/proc/load(filename, type = "config") //the type can also be game_options, in which case it uses a different switch. not making it separate to not copypaste code - Urist
|
/datum/configuration/proc/load(filename, type = "config") //the type can also be game_options, in which case it uses a different switch. not making it separate to not copypaste code - Urist
|
||||||
var/list/Lines = file2list(filename)
|
var/list/Lines = file2list(filename)
|
||||||
@@ -131,248 +130,126 @@
|
|||||||
if(!t) continue
|
if(!t) continue
|
||||||
|
|
||||||
t = trim(t)
|
t = trim(t)
|
||||||
if (length(t) == 0)
|
if(length(t) == 0)
|
||||||
continue
|
continue
|
||||||
else if (copytext(t, 1, 2) == "#")
|
else if(copytext(t, 1, 2) == "#")
|
||||||
continue
|
continue
|
||||||
|
|
||||||
var/pos = findtext(t, " ")
|
var/pos = findtext(t, " ")
|
||||||
var/name = null
|
var/name = null
|
||||||
var/value = null
|
var/value = null
|
||||||
|
|
||||||
if (pos)
|
if(pos)
|
||||||
name = lowertext(copytext(t, 1, pos))
|
name = lowertext(copytext(t, 1, pos))
|
||||||
value = copytext(t, pos + 1)
|
value = copytext(t, pos + 1)
|
||||||
else
|
else
|
||||||
name = lowertext(t)
|
name = lowertext(t)
|
||||||
|
|
||||||
if (!name)
|
if(!name)
|
||||||
continue
|
continue
|
||||||
|
|
||||||
if(type == "config")
|
if(type == "config")
|
||||||
switch (name)
|
switch(name)
|
||||||
if ("admin_legacy_system")
|
if("admin_legacy_system")
|
||||||
config.admin_legacy_system = 1
|
config.admin_legacy_system = 1
|
||||||
|
if("ban_legacy_system")
|
||||||
if ("ban_legacy_system")
|
|
||||||
config.ban_legacy_system = 1
|
config.ban_legacy_system = 1
|
||||||
|
if("use_age_restriction_for_jobs")
|
||||||
if ("use_age_restriction_for_jobs")
|
|
||||||
config.use_age_restriction_for_jobs = 1
|
config.use_age_restriction_for_jobs = 1
|
||||||
|
if("log_ooc")
|
||||||
if ("jobs_have_minimal_access")
|
|
||||||
config.jobs_have_minimal_access = 1
|
|
||||||
|
|
||||||
if ("use_recursive_explosions")
|
|
||||||
use_recursive_explosions = 1
|
|
||||||
|
|
||||||
if ("log_ooc")
|
|
||||||
config.log_ooc = 1
|
config.log_ooc = 1
|
||||||
|
if("log_access")
|
||||||
if ("log_access")
|
|
||||||
config.log_access = 1
|
config.log_access = 1
|
||||||
|
if("log_say")
|
||||||
if ("sql_enabled")
|
|
||||||
config.sql_enabled = 1
|
|
||||||
|
|
||||||
if ("log_say")
|
|
||||||
config.log_say = 1
|
config.log_say = 1
|
||||||
|
if("log_admin")
|
||||||
if ("log_admin")
|
|
||||||
config.log_admin = 1
|
config.log_admin = 1
|
||||||
|
if("log_prayer")
|
||||||
if ("log_prayer")
|
|
||||||
config.log_prayer = 1
|
config.log_prayer = 1
|
||||||
|
if("log_law")
|
||||||
if ("log_law")
|
|
||||||
config.log_law = 1
|
config.log_law = 1
|
||||||
|
if("log_game")
|
||||||
if ("log_game")
|
|
||||||
config.log_game = 1
|
config.log_game = 1
|
||||||
|
if("log_vote")
|
||||||
if ("log_vote")
|
|
||||||
config.log_vote = 1
|
config.log_vote = 1
|
||||||
|
if("log_whisper")
|
||||||
if ("log_whisper")
|
|
||||||
config.log_whisper = 1
|
config.log_whisper = 1
|
||||||
|
if("log_attack")
|
||||||
if ("log_attack")
|
|
||||||
config.log_attack = 1
|
config.log_attack = 1
|
||||||
|
if("log_emote")
|
||||||
if ("log_emote")
|
|
||||||
config.log_emote = 1
|
config.log_emote = 1
|
||||||
|
if("log_adminchat")
|
||||||
if ("log_adminchat")
|
|
||||||
config.log_adminchat = 1
|
config.log_adminchat = 1
|
||||||
|
if("log_adminwarn")
|
||||||
if ("log_adminwarn")
|
|
||||||
config.log_adminwarn = 1
|
config.log_adminwarn = 1
|
||||||
|
if("log_pda")
|
||||||
if ("log_pda")
|
|
||||||
config.log_pda = 1
|
config.log_pda = 1
|
||||||
|
if("log_hrefs")
|
||||||
if ("log_hrefs")
|
|
||||||
config.log_hrefs = 1
|
config.log_hrefs = 1
|
||||||
|
|
||||||
if("allow_admin_ooccolor")
|
if("allow_admin_ooccolor")
|
||||||
config.allow_admin_ooccolor = 1
|
config.allow_admin_ooccolor = 1
|
||||||
|
if("allow_vote_restart")
|
||||||
if ("allow_vote_restart")
|
|
||||||
config.allow_vote_restart = 1
|
config.allow_vote_restart = 1
|
||||||
|
if("allow_vote_mode")
|
||||||
if ("allow_vote_mode")
|
|
||||||
config.allow_vote_mode = 1
|
config.allow_vote_mode = 1
|
||||||
|
if("allow_admin_jump")
|
||||||
if ("allow_admin_jump")
|
|
||||||
config.allow_admin_jump = 1
|
config.allow_admin_jump = 1
|
||||||
|
|
||||||
if("allow_admin_rev")
|
if("allow_admin_rev")
|
||||||
config.allow_admin_rev = 1
|
config.allow_admin_rev = 1
|
||||||
|
if("allow_admin_spawning")
|
||||||
if ("allow_admin_spawning")
|
|
||||||
config.allow_admin_spawning = 1
|
config.allow_admin_spawning = 1
|
||||||
|
if("no_dead_vote")
|
||||||
if ("no_dead_vote")
|
|
||||||
config.vote_no_dead = 1
|
config.vote_no_dead = 1
|
||||||
|
if("default_no_vote")
|
||||||
if ("default_no_vote")
|
|
||||||
config.vote_no_default = 1
|
config.vote_no_default = 1
|
||||||
|
if("vote_delay")
|
||||||
if ("vote_delay")
|
|
||||||
config.vote_delay = text2num(value)
|
config.vote_delay = text2num(value)
|
||||||
|
if("vote_period")
|
||||||
if ("vote_period")
|
|
||||||
config.vote_period = text2num(value)
|
config.vote_period = text2num(value)
|
||||||
|
if("norespawn")
|
||||||
if ("allow_ai")
|
|
||||||
config.allow_ai = 1
|
|
||||||
|
|
||||||
if ("norespawn")
|
|
||||||
config.respawn = 0
|
config.respawn = 0
|
||||||
|
if("servername")
|
||||||
if ("servername")
|
|
||||||
config.server_name = value
|
config.server_name = value
|
||||||
|
if("serversuffix")
|
||||||
if ("serversuffix")
|
|
||||||
config.server_suffix = 1
|
config.server_suffix = 1
|
||||||
|
if("hostedby")
|
||||||
if ("hostedby")
|
|
||||||
config.hostedby = value
|
config.hostedby = value
|
||||||
|
if("server")
|
||||||
if ("server")
|
|
||||||
config.server = value
|
config.server = value
|
||||||
|
if("banappeals")
|
||||||
if ("banappeals")
|
|
||||||
config.banappeals = value
|
config.banappeals = value
|
||||||
|
if("wikiurl")
|
||||||
if ("wikiurl")
|
|
||||||
config.wikiurl = value
|
config.wikiurl = value
|
||||||
|
if("forumurl")
|
||||||
if ("forumurl")
|
|
||||||
config.forumurl = value
|
config.forumurl = value
|
||||||
|
if("guest_jobban")
|
||||||
if ("guest_jobban")
|
|
||||||
config.guest_jobban = 1
|
config.guest_jobban = 1
|
||||||
|
if("guest_ban")
|
||||||
if ("guest_ban")
|
|
||||||
guests_allowed = 0
|
guests_allowed = 0
|
||||||
|
if("usewhitelist")
|
||||||
if ("usewhitelist")
|
|
||||||
config.usewhitelist = 1
|
config.usewhitelist = 1
|
||||||
|
if("allow_metadata")
|
||||||
if ("feature_object_spell_system")
|
|
||||||
config.feature_object_spell_system = 1
|
|
||||||
|
|
||||||
if ("allow_metadata")
|
|
||||||
config.allow_Metadata = 1
|
config.allow_Metadata = 1
|
||||||
|
|
||||||
if ("traitor_scaling")
|
|
||||||
config.traitor_scaling = 1
|
|
||||||
|
|
||||||
if("protect_roles_from_antagonist")
|
|
||||||
config.protect_roles_from_antagonist = 1
|
|
||||||
|
|
||||||
if ("probability")
|
|
||||||
var/prob_pos = findtext(value, " ")
|
|
||||||
var/prob_name = null
|
|
||||||
var/prob_value = null
|
|
||||||
|
|
||||||
if (prob_pos)
|
|
||||||
prob_name = lowertext(copytext(value, 1, prob_pos))
|
|
||||||
prob_value = copytext(value, prob_pos + 1)
|
|
||||||
if (prob_name in config.modes)
|
|
||||||
config.probabilities[prob_name] = text2num(prob_value)
|
|
||||||
else
|
|
||||||
diary << "Unknown game mode probability configuration definition: [prob_name]."
|
|
||||||
else
|
|
||||||
diary << "Incorrect probability configuration definition: [prob_name] [prob_value]."
|
|
||||||
|
|
||||||
if("allow_random_events")
|
|
||||||
config.allow_random_events = 1
|
|
||||||
|
|
||||||
if("kick_inactive")
|
if("kick_inactive")
|
||||||
config.kick_inactive = 1
|
config.kick_inactive = 1
|
||||||
|
|
||||||
if("load_jobs_from_txt")
|
if("load_jobs_from_txt")
|
||||||
load_jobs_from_txt = 1
|
load_jobs_from_txt = 1
|
||||||
|
|
||||||
if("alert_red_upto")
|
|
||||||
config.alert_desc_red_upto = value
|
|
||||||
|
|
||||||
if("alert_red_downto")
|
|
||||||
config.alert_desc_red_downto = value
|
|
||||||
|
|
||||||
if("alert_blue_downto")
|
|
||||||
config.alert_desc_blue_downto = value
|
|
||||||
|
|
||||||
if("alert_blue_upto")
|
|
||||||
config.alert_desc_blue_upto = value
|
|
||||||
|
|
||||||
if("alert_green")
|
|
||||||
config.alert_desc_green = value
|
|
||||||
|
|
||||||
if("alert_delta")
|
|
||||||
config.alert_desc_delta = value
|
|
||||||
|
|
||||||
if("forbid_singulo_possession")
|
if("forbid_singulo_possession")
|
||||||
forbid_singulo_possession = 1
|
forbid_singulo_possession = 1
|
||||||
|
|
||||||
if("popup_admin_pm")
|
if("popup_admin_pm")
|
||||||
config.popup_admin_pm = 1
|
config.popup_admin_pm = 1
|
||||||
|
|
||||||
if("allow_holidays")
|
if("allow_holidays")
|
||||||
config.allow_holidays = 1
|
config.allow_holidays = 1
|
||||||
|
|
||||||
if("useircbot")
|
if("useircbot")
|
||||||
useircbot = 1
|
useircbot = 1
|
||||||
|
|
||||||
if("ticklag")
|
if("ticklag")
|
||||||
Ticklag = text2num(value)
|
Ticklag = text2num(value)
|
||||||
|
|
||||||
if("tickcomp")
|
if("tickcomp")
|
||||||
Tickcomp = 1
|
Tickcomp = 1
|
||||||
|
|
||||||
if("humans_need_surnames")
|
|
||||||
humans_need_surnames = 1
|
|
||||||
|
|
||||||
if("tor_ban")
|
if("tor_ban")
|
||||||
ToRban = 1
|
ToRban = 1
|
||||||
|
|
||||||
if("automute_on")
|
if("automute_on")
|
||||||
automute_on = 1
|
automute_on = 1
|
||||||
|
|
||||||
if("assistant_maint")
|
|
||||||
config.assistant_maint = 1
|
|
||||||
|
|
||||||
if("gateway_delay")
|
|
||||||
config.gateway_delay = text2num(value)
|
|
||||||
|
|
||||||
if("continuous_rounds")
|
|
||||||
config.continous_rounds = 1
|
|
||||||
|
|
||||||
if("ghost_interaction")
|
|
||||||
config.ghost_interaction = 1
|
|
||||||
|
|
||||||
else
|
else
|
||||||
diary << "Unknown setting in configuration: '[name]'"
|
diary << "Unknown setting in configuration: '[name]'"
|
||||||
|
|
||||||
@@ -408,6 +285,55 @@
|
|||||||
config.slime_delay = value
|
config.slime_delay = value
|
||||||
if("animal_delay")
|
if("animal_delay")
|
||||||
config.animal_delay = value
|
config.animal_delay = value
|
||||||
|
if("alert_red_upto")
|
||||||
|
config.alert_desc_red_upto = value
|
||||||
|
if("alert_red_downto")
|
||||||
|
config.alert_desc_red_downto = value
|
||||||
|
if("alert_blue_downto")
|
||||||
|
config.alert_desc_blue_downto = value
|
||||||
|
if("alert_blue_upto")
|
||||||
|
config.alert_desc_blue_upto = value
|
||||||
|
if("alert_green")
|
||||||
|
config.alert_desc_green = value
|
||||||
|
if("alert_delta")
|
||||||
|
config.alert_desc_delta = value
|
||||||
|
if("assistant_maint")
|
||||||
|
config.assistant_maint = 1
|
||||||
|
if("gateway_delay")
|
||||||
|
config.gateway_delay = text2num(value)
|
||||||
|
if("continuous_rounds")
|
||||||
|
config.continous_rounds = 1
|
||||||
|
if("ghost_interaction")
|
||||||
|
config.ghost_interaction = 1
|
||||||
|
if("traitor_scaling")
|
||||||
|
config.traitor_scaling = 1
|
||||||
|
if("protect_roles_from_antagonist")
|
||||||
|
config.protect_roles_from_antagonist = 1
|
||||||
|
if("probability")
|
||||||
|
var/prob_pos = findtext(value, " ")
|
||||||
|
var/prob_name = null
|
||||||
|
var/prob_value = null
|
||||||
|
|
||||||
|
if(prob_pos)
|
||||||
|
prob_name = lowertext(copytext(value, 1, prob_pos))
|
||||||
|
prob_value = copytext(value, prob_pos + 1)
|
||||||
|
if(prob_name in config.modes)
|
||||||
|
config.probabilities[prob_name] = text2num(prob_value)
|
||||||
|
else
|
||||||
|
diary << "Unknown game mode probability configuration definition: [prob_name]."
|
||||||
|
else
|
||||||
|
diary << "Incorrect probability configuration definition: [prob_name] [prob_value]."
|
||||||
|
|
||||||
|
if("allow_random_events")
|
||||||
|
config.allow_random_events = 1
|
||||||
|
if("jobs_have_minimal_access")
|
||||||
|
config.jobs_have_minimal_access = 1
|
||||||
|
if("use_recursive_explosions")
|
||||||
|
use_recursive_explosions = 1
|
||||||
|
if("humans_need_surnames")
|
||||||
|
humans_need_surnames = 1
|
||||||
|
if("allow_ai")
|
||||||
|
config.allow_ai = 1
|
||||||
else
|
else
|
||||||
diary << "Unknown setting in configuration: '[name]'"
|
diary << "Unknown setting in configuration: '[name]'"
|
||||||
|
|
||||||
@@ -417,110 +343,64 @@
|
|||||||
if(!t) continue
|
if(!t) continue
|
||||||
|
|
||||||
t = trim(t)
|
t = trim(t)
|
||||||
if (length(t) == 0)
|
if(length(t) == 0)
|
||||||
continue
|
continue
|
||||||
else if (copytext(t, 1, 2) == "#")
|
else if(copytext(t, 1, 2) == "#")
|
||||||
continue
|
continue
|
||||||
|
|
||||||
var/pos = findtext(t, " ")
|
var/pos = findtext(t, " ")
|
||||||
var/name = null
|
var/name = null
|
||||||
var/value = null
|
var/value = null
|
||||||
|
|
||||||
if (pos)
|
if(pos)
|
||||||
name = lowertext(copytext(t, 1, pos))
|
name = lowertext(copytext(t, 1, pos))
|
||||||
value = copytext(t, pos + 1)
|
value = copytext(t, pos + 1)
|
||||||
else
|
else
|
||||||
name = lowertext(t)
|
name = lowertext(t)
|
||||||
|
|
||||||
if (!name)
|
if(!name)
|
||||||
continue
|
continue
|
||||||
|
|
||||||
switch (name)
|
switch(name)
|
||||||
if ("address")
|
if("sql_enabled")
|
||||||
|
config.sql_enabled = 1
|
||||||
|
if("address")
|
||||||
sqladdress = value
|
sqladdress = value
|
||||||
if ("port")
|
if("port")
|
||||||
sqlport = value
|
sqlport = value
|
||||||
if ("database")
|
if("feedback_database")
|
||||||
sqldb = value
|
|
||||||
if ("login")
|
|
||||||
sqllogin = value
|
|
||||||
if ("password")
|
|
||||||
sqlpass = value
|
|
||||||
if ("feedback_database")
|
|
||||||
sqlfdbkdb = value
|
sqlfdbkdb = value
|
||||||
if ("feedback_login")
|
if("feedback_login")
|
||||||
sqlfdbklogin = value
|
sqlfdbklogin = value
|
||||||
if ("feedback_password")
|
if("feedback_password")
|
||||||
sqlfdbkpass = value
|
sqlfdbkpass = value
|
||||||
if ("enable_stat_tracking")
|
if("enable_stat_tracking")
|
||||||
sqllogging = 1
|
sqllogging = 1
|
||||||
else
|
else
|
||||||
diary << "Unknown setting in configuration: '[name]'"
|
diary << "Unknown setting in configuration: '[name]'"
|
||||||
|
|
||||||
/datum/configuration/proc/loadforumsql(filename) // -- TLE
|
|
||||||
var/list/Lines = file2list(filename)
|
|
||||||
for(var/t in Lines)
|
|
||||||
if(!t) continue
|
|
||||||
|
|
||||||
t = trim(t)
|
|
||||||
if (length(t) == 0)
|
|
||||||
continue
|
|
||||||
else if (copytext(t, 1, 2) == "#")
|
|
||||||
continue
|
|
||||||
|
|
||||||
var/pos = findtext(t, " ")
|
|
||||||
var/name = null
|
|
||||||
var/value = null
|
|
||||||
|
|
||||||
if (pos)
|
|
||||||
name = lowertext(copytext(t, 1, pos))
|
|
||||||
value = copytext(t, pos + 1)
|
|
||||||
else
|
|
||||||
name = lowertext(t)
|
|
||||||
|
|
||||||
if (!name)
|
|
||||||
continue
|
|
||||||
|
|
||||||
switch (name)
|
|
||||||
if ("address")
|
|
||||||
forumsqladdress = value
|
|
||||||
if ("port")
|
|
||||||
forumsqlport = value
|
|
||||||
if ("database")
|
|
||||||
forumsqldb = value
|
|
||||||
if ("login")
|
|
||||||
forumsqllogin = value
|
|
||||||
if ("password")
|
|
||||||
forumsqlpass = value
|
|
||||||
if ("activatedgroup")
|
|
||||||
forum_activated_group = value
|
|
||||||
if ("authenticatedgroup")
|
|
||||||
forum_authenticated_group = value
|
|
||||||
else
|
|
||||||
diary << "Unknown setting in configuration: '[name]'"
|
|
||||||
|
|
||||||
/datum/configuration/proc/pick_mode(mode_name)
|
/datum/configuration/proc/pick_mode(mode_name)
|
||||||
// I wish I didn't have to instance the game modes in order to look up
|
// I wish I didn't have to instance the game modes in order to look up
|
||||||
// their information, but it is the only way (at least that I know of).
|
// their information, but it is the only way (at least that I know of).
|
||||||
for (var/T in (typesof(/datum/game_mode) - /datum/game_mode))
|
for(var/T in (typesof(/datum/game_mode) - /datum/game_mode))
|
||||||
var/datum/game_mode/M = new T()
|
var/datum/game_mode/M = new T()
|
||||||
if (M.config_tag && M.config_tag == mode_name)
|
if(M.config_tag && M.config_tag == mode_name)
|
||||||
return M
|
return M
|
||||||
del(M)
|
del(M)
|
||||||
return new /datum/game_mode/extended()
|
return new /datum/game_mode/extended()
|
||||||
|
|
||||||
/datum/configuration/proc/get_runnable_modes()
|
/datum/configuration/proc/get_runnable_modes()
|
||||||
var/list/datum/game_mode/runnable_modes = new
|
var/list/datum/game_mode/runnable_modes = new
|
||||||
for (var/T in (typesof(/datum/game_mode) - /datum/game_mode))
|
for(var/T in (typesof(/datum/game_mode) - /datum/game_mode))
|
||||||
var/datum/game_mode/M = new T()
|
var/datum/game_mode/M = new T()
|
||||||
//world << "DEBUG: [T], tag=[M.config_tag], prob=[probabilities[M.config_tag]]"
|
//world << "DEBUG: [T], tag=[M.config_tag], prob=[probabilities[M.config_tag]]"
|
||||||
if (!(M.config_tag in modes))
|
if(!(M.config_tag in modes))
|
||||||
del(M)
|
del(M)
|
||||||
continue
|
continue
|
||||||
if (probabilities[M.config_tag]<=0)
|
if(probabilities[M.config_tag]<=0)
|
||||||
del(M)
|
del(M)
|
||||||
continue
|
continue
|
||||||
if (M.can_start())
|
if(M.can_start())
|
||||||
runnable_modes[M] = probabilities[M.config_tag]
|
runnable_modes[M] = probabilities[M.config_tag]
|
||||||
//world << "DEBUG: runnable_mode\[[runnable_modes.len]\] = [M.config_tag]"
|
//world << "DEBUG: runnable_mode\[[runnable_modes.len]\] = [M.config_tag]"
|
||||||
return runnable_modes
|
return runnable_modes
|
||||||
|
|||||||
@@ -625,7 +625,7 @@ datum/mind
|
|||||||
if(src in ticker.mode.wizards)
|
if(src in ticker.mode.wizards)
|
||||||
ticker.mode.wizards -= src
|
ticker.mode.wizards -= src
|
||||||
special_role = null
|
special_role = null
|
||||||
current.spellremove(current, config.feature_object_spell_system? "object":"verb")
|
current.spellremove(current)
|
||||||
current << "\red <FONT size = 3><B>You have been brainwashed! You are no longer a wizard!</B></FONT>"
|
current << "\red <FONT size = 3><B>You have been brainwashed! You are no longer a wizard!</B></FONT>"
|
||||||
log_admin("[key_name_admin(usr)] has de-wizard'ed [current].")
|
log_admin("[key_name_admin(usr)] has de-wizard'ed [current].")
|
||||||
if("wizard")
|
if("wizard")
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ proc/sql_poll_players()
|
|||||||
log_game("SQL ERROR during player polling. Failed to connect.")
|
log_game("SQL ERROR during player polling. Failed to connect.")
|
||||||
else
|
else
|
||||||
var/sqltime = time2text(world.realtime, "YYYY-MM-DD hh:mm:ss")
|
var/sqltime = time2text(world.realtime, "YYYY-MM-DD hh:mm:ss")
|
||||||
var/DBQuery/query = dbcon_old.NewQuery("INSERT INTO population (playercount, time) VALUES ([playercount], '[sqltime]')")
|
var/DBQuery/query = dbcon.NewQuery("INSERT INTO population (playercount, time) VALUES ([playercount], '[sqltime]')")
|
||||||
if(!query.Execute())
|
if(!query.Execute())
|
||||||
var/err = query.ErrorMsg()
|
var/err = query.ErrorMsg()
|
||||||
log_game("SQL ERROR during player polling. Error : \[[err]\]\n")
|
log_game("SQL ERROR during player polling. Error : \[[err]\]\n")
|
||||||
@@ -25,7 +25,7 @@ proc/sql_poll_admins()
|
|||||||
log_game("SQL ERROR during admin polling. Failed to connect.")
|
log_game("SQL ERROR during admin polling. Failed to connect.")
|
||||||
else
|
else
|
||||||
var/sqltime = time2text(world.realtime, "YYYY-MM-DD hh:mm:ss")
|
var/sqltime = time2text(world.realtime, "YYYY-MM-DD hh:mm:ss")
|
||||||
var/DBQuery/query = dbcon_old.NewQuery("INSERT INTO population (admincount, time) VALUES ([admincount], '[sqltime]')")
|
var/DBQuery/query = dbcon.NewQuery("INSERT INTO population (admincount, time) VALUES ([admincount], '[sqltime]')")
|
||||||
if(!query.Execute())
|
if(!query.Execute())
|
||||||
var/err = query.ErrorMsg()
|
var/err = query.ErrorMsg()
|
||||||
log_game("SQL ERROR during admin polling. Error : \[[err]\]\n")
|
log_game("SQL ERROR during admin polling. Error : \[[err]\]\n")
|
||||||
@@ -34,6 +34,7 @@ proc/sql_report_round_start()
|
|||||||
// TODO
|
// TODO
|
||||||
if(!sqllogging)
|
if(!sqllogging)
|
||||||
return
|
return
|
||||||
|
|
||||||
proc/sql_report_round_end()
|
proc/sql_report_round_end()
|
||||||
// TODO
|
// TODO
|
||||||
if(!sqllogging)
|
if(!sqllogging)
|
||||||
@@ -64,11 +65,11 @@ proc/sql_report_death(var/mob/living/carbon/human/H)
|
|||||||
var/sqltime = time2text(world.realtime, "YYYY-MM-DD hh:mm:ss")
|
var/sqltime = time2text(world.realtime, "YYYY-MM-DD hh:mm:ss")
|
||||||
var/coord = "[H.x], [H.y], [H.z]"
|
var/coord = "[H.x], [H.y], [H.z]"
|
||||||
//world << "INSERT INTO death (name, byondkey, job, special, pod, tod, laname, lakey, gender, bruteloss, fireloss, brainloss, oxyloss) VALUES ('[sqlname]', '[sqlkey]', '[sqljob]', '[sqlspecial]', '[sqlpod]', '[sqltime]', '[laname]', '[lakey]', '[H.gender]', [H.bruteloss], [H.getFireLoss()], [H.brainloss], [H.getOxyLoss()])"
|
//world << "INSERT INTO death (name, byondkey, job, special, pod, tod, laname, lakey, gender, bruteloss, fireloss, brainloss, oxyloss) VALUES ('[sqlname]', '[sqlkey]', '[sqljob]', '[sqlspecial]', '[sqlpod]', '[sqltime]', '[laname]', '[lakey]', '[H.gender]', [H.bruteloss], [H.getFireLoss()], [H.brainloss], [H.getOxyLoss()])"
|
||||||
establish_old_db_connection()
|
establish_db_connection()
|
||||||
if(!dbcon_old.IsConnected())
|
if(!dbcon.IsConnected())
|
||||||
log_game("SQL ERROR during death reporting. Failed to connect.")
|
log_game("SQL ERROR during death reporting. Failed to connect.")
|
||||||
else
|
else
|
||||||
var/DBQuery/query = dbcon_old.NewQuery("INSERT INTO death (name, byondkey, job, special, pod, tod, laname, lakey, gender, bruteloss, fireloss, brainloss, oxyloss, coord) VALUES ('[sqlname]', '[sqlkey]', '[sqljob]', '[sqlspecial]', '[sqlpod]', '[sqltime]', '[laname]', '[lakey]', '[H.gender]', [H.getBruteLoss()], [H.getFireLoss()], [H.brainloss], [H.getOxyLoss()], '[coord]')")
|
var/DBQuery/query = dbcon.NewQuery("INSERT INTO death (name, byondkey, job, special, pod, tod, laname, lakey, gender, bruteloss, fireloss, brainloss, oxyloss, coord) VALUES ('[sqlname]', '[sqlkey]', '[sqljob]', '[sqlspecial]', '[sqlpod]', '[sqltime]', '[laname]', '[lakey]', '[H.gender]', [H.getBruteLoss()], [H.getFireLoss()], [H.brainloss], [H.getOxyLoss()], '[coord]')")
|
||||||
if(!query.Execute())
|
if(!query.Execute())
|
||||||
var/err = query.ErrorMsg()
|
var/err = query.ErrorMsg()
|
||||||
log_game("SQL ERROR during death reporting. Error : \[[err]\]\n")
|
log_game("SQL ERROR during death reporting. Error : \[[err]\]\n")
|
||||||
|
|||||||
@@ -191,25 +191,10 @@ var/sqlfdbkpass = ""
|
|||||||
|
|
||||||
var/sqllogging = 0 // Should we log deaths, population stats, etc?
|
var/sqllogging = 0 // Should we log deaths, population stats, etc?
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// Forum MySQL configuration (for use with forum account/key authentication)
|
|
||||||
// These are all default values that will load should the forumdbconfig.txt
|
|
||||||
// file fail to read for whatever reason.
|
|
||||||
|
|
||||||
var/forumsqladdress = "localhost"
|
|
||||||
var/forumsqlport = "3306"
|
|
||||||
var/forumsqldb = "tgstation"
|
|
||||||
var/forumsqllogin = "root"
|
|
||||||
var/forumsqlpass = ""
|
|
||||||
var/forum_activated_group = "2"
|
|
||||||
var/forum_authenticated_group = "10"
|
|
||||||
|
|
||||||
// For FTP requests. (i.e. downloading runtime logs.)
|
// For FTP requests. (i.e. downloading runtime logs.)
|
||||||
// However it'd be ok to use for accessing attack logs and such too, which are even laggier.
|
// However it'd be ok to use for accessing attack logs and such too, which are even laggier.
|
||||||
var/fileaccess_timer = 0
|
var/fileaccess_timer = 0
|
||||||
|
|
||||||
//Database connections
|
//Database connections
|
||||||
//A connection is established on world creation. Ideally, the connection dies when the server restarts (After feedback logging.).
|
//A connection is established on world creation. Ideally, the connection dies when the server restarts (After feedback logging.).
|
||||||
var/DBConnection/dbcon = new() //Feedback database (New database)
|
var/DBConnection/dbcon = new() //Feedback database (New database)
|
||||||
var/DBConnection/dbcon_old = new() //Tgstation database (Old database) - See the files in the SQL folder for information what goes where.
|
|
||||||
@@ -43,8 +43,8 @@ datum/borrowbook // Datum used to keep track of who has borrowed what when and f
|
|||||||
dat += "<A href='?src=\ref[src];setauthor=1'>Filter by Author: [author]</A><BR>"
|
dat += "<A href='?src=\ref[src];setauthor=1'>Filter by Author: [author]</A><BR>"
|
||||||
dat += "<A href='?src=\ref[src];search=1'>\[Start Search\]</A><BR>"
|
dat += "<A href='?src=\ref[src];search=1'>\[Start Search\]</A><BR>"
|
||||||
if(1)
|
if(1)
|
||||||
establish_old_db_connection()
|
establish_db_connection()
|
||||||
if(!dbcon_old.IsConnected())
|
if(!dbcon.IsConnected())
|
||||||
dat += "<font color=red><b>ERROR</b>: Unable to contact External Archive. Please contact your system administrator for assistance.</font><BR>"
|
dat += "<font color=red><b>ERROR</b>: Unable to contact External Archive. Please contact your system administrator for assistance.</font><BR>"
|
||||||
else if(!SQLquery)
|
else if(!SQLquery)
|
||||||
dat += "<font color=red><b>ERROR</b>: Malformed search request. Please contact your system administrator for assistance.</font><BR>"
|
dat += "<font color=red><b>ERROR</b>: Malformed search request. Please contact your system administrator for assistance.</font><BR>"
|
||||||
@@ -52,7 +52,7 @@ datum/borrowbook // Datum used to keep track of who has borrowed what when and f
|
|||||||
dat += "<table>"
|
dat += "<table>"
|
||||||
dat += "<tr><td>AUTHOR</td><td>TITLE</td><td>CATEGORY</td><td>SS<sup>13</sup>BN</td></tr>"
|
dat += "<tr><td>AUTHOR</td><td>TITLE</td><td>CATEGORY</td><td>SS<sup>13</sup>BN</td></tr>"
|
||||||
|
|
||||||
var/DBQuery/query = dbcon_old.NewQuery(SQLquery)
|
var/DBQuery/query = dbcon.NewQuery(SQLquery)
|
||||||
query.Execute()
|
query.Execute()
|
||||||
|
|
||||||
while(query.NextRow())
|
while(query.NextRow())
|
||||||
@@ -193,15 +193,15 @@ datum/borrowbook // Datum used to keep track of who has borrowed what when and f
|
|||||||
dat += "<A href='?src=\ref[src];switchscreen=0'>(Return to main menu)</A><BR>"
|
dat += "<A href='?src=\ref[src];switchscreen=0'>(Return to main menu)</A><BR>"
|
||||||
if(4)
|
if(4)
|
||||||
dat += "<h3>External Archive</h3>"
|
dat += "<h3>External Archive</h3>"
|
||||||
establish_old_db_connection()
|
establish_db_connection()
|
||||||
if(!dbcon_old.IsConnected())
|
if(!dbcon.IsConnected())
|
||||||
dat += "<font color=red><b>ERROR</b>: Unable to contact External Archive. Please contact your system administrator for assistance.</font>"
|
dat += "<font color=red><b>ERROR</b>: Unable to contact External Archive. Please contact your system administrator for assistance.</font>"
|
||||||
else
|
else
|
||||||
dat += "<A href='?src=\ref[src];orderbyid=1'>(Order book by SS<sup>13</sup>BN)</A><BR><BR>"
|
dat += "<A href='?src=\ref[src];orderbyid=1'>(Order book by SS<sup>13</sup>BN)</A><BR><BR>"
|
||||||
dat += "<table>"
|
dat += "<table>"
|
||||||
dat += "<tr><td>AUTHOR</td><td>TITLE</td><td>CATEGORY</td><td></td></tr>"
|
dat += "<tr><td>AUTHOR</td><td>TITLE</td><td>CATEGORY</td><td></td></tr>"
|
||||||
|
|
||||||
var/DBQuery/query = dbcon_old.NewQuery("SELECT id, author, title, category FROM library")
|
var/DBQuery/query = dbcon.NewQuery("SELECT id, author, title, category FROM library")
|
||||||
query.Execute()
|
query.Execute()
|
||||||
|
|
||||||
while(query.NextRow())
|
while(query.NextRow())
|
||||||
@@ -337,8 +337,8 @@ datum/borrowbook // Datum used to keep track of who has borrowed what when and f
|
|||||||
if(scanner.cache)
|
if(scanner.cache)
|
||||||
var/choice = input("Are you certain you wish to upload this title to the Archive?") in list("Confirm", "Abort")
|
var/choice = input("Are you certain you wish to upload this title to the Archive?") in list("Confirm", "Abort")
|
||||||
if(choice == "Confirm")
|
if(choice == "Confirm")
|
||||||
establish_old_db_connection()
|
establish_db_connection()
|
||||||
if(!dbcon_old.IsConnected())
|
if(!dbcon.IsConnected())
|
||||||
alert("Connection to Archive has been severed. Aborting.")
|
alert("Connection to Archive has been severed. Aborting.")
|
||||||
else
|
else
|
||||||
/*
|
/*
|
||||||
@@ -351,7 +351,7 @@ datum/borrowbook // Datum used to keep track of who has borrowed what when and f
|
|||||||
var/sqlauthor = sanitizeSQL(scanner.cache.author)
|
var/sqlauthor = sanitizeSQL(scanner.cache.author)
|
||||||
var/sqlcontent = sanitizeSQL(scanner.cache.dat)
|
var/sqlcontent = sanitizeSQL(scanner.cache.dat)
|
||||||
var/sqlcategory = sanitizeSQL(upload_category)
|
var/sqlcategory = sanitizeSQL(upload_category)
|
||||||
var/DBQuery/query = dbcon_old.NewQuery("INSERT INTO library (author, title, content, category) VALUES ('[sqlauthor]', '[sqltitle]', '[sqlcontent]', '[sqlcategory]')")
|
var/DBQuery/query = dbcon.NewQuery("INSERT INTO library (author, title, content, category) VALUES ('[sqlauthor]', '[sqltitle]', '[sqlcontent]', '[sqlcategory]')")
|
||||||
if(!query.Execute())
|
if(!query.Execute())
|
||||||
usr << query.ErrorMsg()
|
usr << query.ErrorMsg()
|
||||||
else
|
else
|
||||||
@@ -360,8 +360,8 @@ datum/borrowbook // Datum used to keep track of who has borrowed what when and f
|
|||||||
|
|
||||||
if(href_list["targetid"])
|
if(href_list["targetid"])
|
||||||
var/sqlid = sanitizeSQL(href_list["targetid"])
|
var/sqlid = sanitizeSQL(href_list["targetid"])
|
||||||
establish_old_db_connection()
|
establish_db_connection()
|
||||||
if(!dbcon_old.IsConnected())
|
if(!dbcon.IsConnected())
|
||||||
alert("Connection to Archive has been severed. Aborting.")
|
alert("Connection to Archive has been severed. Aborting.")
|
||||||
if(bibledelay)
|
if(bibledelay)
|
||||||
for (var/mob/V in hearers(src))
|
for (var/mob/V in hearers(src))
|
||||||
@@ -370,7 +370,7 @@ datum/borrowbook // Datum used to keep track of who has borrowed what when and f
|
|||||||
bibledelay = 1
|
bibledelay = 1
|
||||||
spawn(60)
|
spawn(60)
|
||||||
bibledelay = 0
|
bibledelay = 0
|
||||||
var/DBQuery/query = dbcon_old.NewQuery("SELECT * FROM library WHERE id=[sqlid]")
|
var/DBQuery/query = dbcon.NewQuery("SELECT * FROM library WHERE id=[sqlid]")
|
||||||
query.Execute()
|
query.Execute()
|
||||||
|
|
||||||
while(query.NextRow())
|
while(query.NextRow())
|
||||||
|
|||||||
@@ -19,7 +19,7 @@
|
|||||||
changelog_hash = md5('html/changelog.html') //used for telling if the changelog has changed recently
|
changelog_hash = md5('html/changelog.html') //used for telling if the changelog has changed recently
|
||||||
|
|
||||||
if(byond_version < RECOMMENDED_VERSION)
|
if(byond_version < RECOMMENDED_VERSION)
|
||||||
world.log << "Your server's byond version does not meet the recommended requirements for TGstation code. Please update BYOND"
|
world.log << "Your server's BYOND version does not meet the recommended requirements for /tg/station code. Please update BYOND."
|
||||||
|
|
||||||
make_datum_references_lists() //initialises global lists for referencing frequently used datums (so that we only ever do it once)
|
make_datum_references_lists() //initialises global lists for referencing frequently used datums (so that we only ever do it once)
|
||||||
|
|
||||||
@@ -48,14 +48,9 @@
|
|||||||
|
|
||||||
if(config.sql_enabled)
|
if(config.sql_enabled)
|
||||||
if(!setup_database_connection())
|
if(!setup_database_connection())
|
||||||
world.log << "Your server failed to establish a connection with the feedback database."
|
world.log << "Your server failed to establish a connection with the database."
|
||||||
else
|
else
|
||||||
world.log << "Feedback database connection established."
|
world.log << "Database connection established."
|
||||||
|
|
||||||
if(!setup_old_database_connection())
|
|
||||||
world.log << "Your server failed to establish a connection with the tgstation database."
|
|
||||||
else
|
|
||||||
world.log << "Tgstation database connection established."
|
|
||||||
|
|
||||||
plmaster = new /obj/effect/overlay()
|
plmaster = new /obj/effect/overlay()
|
||||||
plmaster.icon = 'icons/effects/tile_effects.dmi'
|
plmaster.icon = 'icons/effects/tile_effects.dmi'
|
||||||
@@ -201,7 +196,6 @@
|
|||||||
config.load("config/config.txt")
|
config.load("config/config.txt")
|
||||||
config.load("config/game_options.txt","game_options")
|
config.load("config/game_options.txt","game_options")
|
||||||
config.loadsql("config/dbconfig.txt")
|
config.loadsql("config/dbconfig.txt")
|
||||||
config.loadforumsql("config/forumdbconfig.txt")
|
|
||||||
// apply some settings from config..
|
// apply some settings from config..
|
||||||
abandon_allowed = config.respawn
|
abandon_allowed = config.respawn
|
||||||
|
|
||||||
@@ -267,7 +261,6 @@
|
|||||||
|
|
||||||
#define FAILED_DB_CONNECTION_CUTOFF 5
|
#define FAILED_DB_CONNECTION_CUTOFF 5
|
||||||
var/failed_db_connections = 0
|
var/failed_db_connections = 0
|
||||||
var/failed_old_db_connections = 0
|
|
||||||
|
|
||||||
proc/setup_database_connection()
|
proc/setup_database_connection()
|
||||||
|
|
||||||
@@ -302,41 +295,4 @@ proc/establish_db_connection()
|
|||||||
else
|
else
|
||||||
return 1
|
return 1
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//These two procs are for the old database, while it's being phased out. See the tgstation.sql file in the SQL folder for more information.
|
|
||||||
proc/setup_old_database_connection()
|
|
||||||
|
|
||||||
if(failed_old_db_connections > FAILED_DB_CONNECTION_CUTOFF) //If it failed to establish a connection more than 5 times in a row, don't bother attempting to conenct anymore.
|
|
||||||
return 0
|
|
||||||
|
|
||||||
if(!dbcon_old)
|
|
||||||
dbcon_old = new()
|
|
||||||
|
|
||||||
var/user = sqllogin
|
|
||||||
var/pass = sqlpass
|
|
||||||
var/db = sqldb
|
|
||||||
var/address = sqladdress
|
|
||||||
var/port = sqlport
|
|
||||||
|
|
||||||
dbcon_old.Connect("dbi:mysql:[db]:[address]:[port]","[user]","[pass]")
|
|
||||||
. = dbcon_old.IsConnected()
|
|
||||||
if ( . )
|
|
||||||
failed_old_db_connections = 0 //If this connection succeeded, reset the failed connections counter.
|
|
||||||
else
|
|
||||||
failed_old_db_connections++ //If it failed, increase the failed connections counter.
|
|
||||||
|
|
||||||
return .
|
|
||||||
|
|
||||||
//This proc ensures that the connection to the feedback database (global variable dbcon) is established
|
|
||||||
proc/establish_old_db_connection()
|
|
||||||
if(failed_old_db_connections > FAILED_DB_CONNECTION_CUTOFF)
|
|
||||||
return 0
|
|
||||||
|
|
||||||
if(!dbcon_old || !dbcon_old.IsConnected())
|
|
||||||
return setup_old_database_connection()
|
|
||||||
else
|
|
||||||
return 1
|
|
||||||
|
|
||||||
#undef FAILED_DB_CONNECTION_CUTOFF
|
#undef FAILED_DB_CONNECTION_CUTOFF
|
||||||
@@ -1,30 +0,0 @@
|
|||||||
Create a databse at the same location where the server MySQL databse is. (as defined in config/dbconfig.txt under ADDRESS and PORT) It can be a separate database or the same one, as you wish. Create the following table in it: (name needs to remain as 'erro_feedback')
|
|
||||||
|
|
||||||
|
|
||||||
CREATE TABLE IF NOT EXISTS `erro_feedback` (
|
|
||||||
|
|
||||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
|
||||||
|
|
||||||
`time` datetime NOT NULL,
|
|
||||||
|
|
||||||
`round_id` int(8) NOT NULL,
|
|
||||||
|
|
||||||
`var_name` varchar(32) NOT NULL,
|
|
||||||
|
|
||||||
`var_value` int(16) DEFAULT NULL,
|
|
||||||
|
|
||||||
`details` text,
|
|
||||||
|
|
||||||
PRIMARY KEY (`id`)
|
|
||||||
|
|
||||||
);
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Open the file config/dbconfig.txt and edit the following lines:
|
|
||||||
|
|
||||||
FEEDBACK_DATABASE test
|
|
||||||
|
|
||||||
FEEDBACK_LOGIN mylogin
|
|
||||||
|
|
||||||
FEEDBACK_PASSWORD mypassword
|
|
||||||
@@ -1,23 +1,12 @@
|
|||||||
## Server name: This appears at the top of the screen in-game. In this case it will read "tgstation: station_name" where station_name is the randomly generated name of the station for the round. Remove the # infront of SERVERNAME and replace 'tgstation' with the name of your choice
|
## Server name: This appears at the top of the screen in-game. In this case it will read "tgstation: station_name" where station_name is the randomly generated name of the station for the round. Remove the # infront of SERVERNAME and replace 'tgstation' with the name of your choice
|
||||||
# SERVERNAME tgstation
|
# SERVERNAME tgstation
|
||||||
|
|
||||||
## Alert levels
|
|
||||||
ALERT_GREEN All threats to the station have passed. Security may not have weapons visible, privacy laws are once again fully enforced.
|
|
||||||
ALERT_BLUE_UPTO The station has received reliable information about possible hostile activity on the station. Security staff may have weapons visible, random searches are permitted.
|
|
||||||
ALERT_BLUE_DOWNTO The immediate threat has passed. Security may no longer have weapons drawn at all times, but may continue to have them visible. Random searches are still allowed.
|
|
||||||
ALERT_RED_UPTO There is an immediate serious threat to the station. Security may have weapons unholstered at all times. Random searches are allowed and advised.
|
|
||||||
ALERT_RED_DOWNTO The self-destruct mechanism has been deactivated, there is still however an immediate serious threat to the station. Security may have weapons unholstered at all times, random searches are allowed and advised.
|
|
||||||
ALERT_DELTA The station's self-destruct mechanism has been engaged. All crew are instructed to obey all instructions given by heads of staff. Any violations of these orders can be punished by death. This is not a drill.
|
|
||||||
|
|
||||||
## Add a # infront of this if you want to use the SQL based admin system, the legacy system uses admins.txt. You need to set up your database to use the SQL based system.
|
## Add a # infront of this if you want to use the SQL based admin system, the legacy system uses admins.txt. You need to set up your database to use the SQL based system.
|
||||||
ADMIN_LEGACY_SYSTEM
|
ADMIN_LEGACY_SYSTEM
|
||||||
|
|
||||||
## Add a # infront of this if you want to use the SQL based banning system. The legacy systems use the files in the data folder. You need to set up your database to use the SQL based system.
|
## Add a # infront of this if you want to use the SQL based banning system. The legacy systems use the files in the data folder. You need to set up your database to use the SQL based system.
|
||||||
BAN_LEGACY_SYSTEM
|
BAN_LEGACY_SYSTEM
|
||||||
|
|
||||||
## Add a # here if you wish to use the setup where jobs have more access. This is intended for servers with low populations - where there are not enough players to fill all roles, so players need to do more than just one job. Also for servers where they don't want people to hide in their own departments.
|
|
||||||
JOBS_HAVE_MINIMAL_ACCESS
|
|
||||||
|
|
||||||
## Unhash this entry to have certain jobs require your account to be at least a certain number of days old to select. You can configure the exact age requirement for different jobs by editing
|
## Unhash this entry to have certain jobs require your account to be at least a certain number of days old to select. You can configure the exact age requirement for different jobs by editing
|
||||||
## the minimal_player_age variable in the files in folder /code/game/jobs/job/.. for the job you want to edit. Set minimal_player_age to 0 to disable age requirement for that job.
|
## the minimal_player_age variable in the files in folder /code/game/jobs/job/.. for the job you want to edit. Set minimal_player_age to 0 to disable age requirement for that job.
|
||||||
## REQUIRES the database set up to work. Keep it hashed if you don't have a database set up.
|
## REQUIRES the database set up to work. Keep it hashed if you don't have a database set up.
|
||||||
@@ -25,9 +14,6 @@ JOBS_HAVE_MINIMAL_ACCESS
|
|||||||
## you have noone older than 0 days, since noone has been logged yet. Only turn this on once you have had the database up for 30 days.
|
## you have noone older than 0 days, since noone has been logged yet. Only turn this on once you have had the database up for 30 days.
|
||||||
#USE_AGE_RESTRICTION_FOR_JOBS
|
#USE_AGE_RESTRICTION_FOR_JOBS
|
||||||
|
|
||||||
## Unhash this to use recursive explosions, keep it hashed to use circle explosions. Recursive explosions react to walls, airlocks and blast doors, making them look a lot cooler than the boring old circular explosions. They require more CPU and are (as of january 2013) experimental
|
|
||||||
#USE_RECURSIVE_EXPLOSIONS
|
|
||||||
|
|
||||||
## log OOC channel
|
## log OOC channel
|
||||||
LOG_OOC
|
LOG_OOC
|
||||||
|
|
||||||
@@ -70,41 +56,9 @@ LOG_LAW
|
|||||||
## log admin warning messages
|
## log admin warning messages
|
||||||
##LOG_ADMINWARN ## Also duplicates a bunch of other messages.
|
##LOG_ADMINWARN ## Also duplicates a bunch of other messages.
|
||||||
|
|
||||||
## sql switching
|
|
||||||
# SQL_ENABLED
|
|
||||||
|
|
||||||
## disconnect players who did nothing during 10 minutes
|
## disconnect players who did nothing during 10 minutes
|
||||||
# KICK_INACTIVE
|
# KICK_INACTIVE
|
||||||
|
|
||||||
## probablities for game modes chosen in "secret" and "random" modes
|
|
||||||
##
|
|
||||||
## default probablity is 1, increase to make that mode more likely to be picked
|
|
||||||
## set to 0 to disable that mode
|
|
||||||
## Cult mode is in alpha test, enable at your own risk
|
|
||||||
PROBABILITY EXTENDED 0
|
|
||||||
PROBABILITY TRAITOR 0
|
|
||||||
PROBABILITY METEOR 0
|
|
||||||
PROBABILITY MALFUNCTION 2
|
|
||||||
PROBABILITY BLOB 0
|
|
||||||
PROBABILITY NUCLEAR 5
|
|
||||||
PROBABILITY SANDBOX 0
|
|
||||||
PROBABILITY WIZARD 0
|
|
||||||
PROBABILITY RESTRUCTURING 0
|
|
||||||
PROBABILITY REVOLUTION 5
|
|
||||||
PROBABILITY CHANGELING 0
|
|
||||||
PROBABILITY CULT 1
|
|
||||||
PROBABILITY MONKEY 0
|
|
||||||
PROBABILITY TRAITORCHAN 0
|
|
||||||
|
|
||||||
## Hash out to disable random events during the round.
|
|
||||||
ALLOW_RANDOM_EVENTS
|
|
||||||
|
|
||||||
## if amount of traitors scales or not
|
|
||||||
#TRAITOR_SCALING
|
|
||||||
|
|
||||||
## If security is prohibited from being most antagonists
|
|
||||||
#PROTECT_ROLES_FROM_ANTAGONIST
|
|
||||||
|
|
||||||
## Comment this out to stop admins being able to choose their personal ooccolor
|
## Comment this out to stop admins being able to choose their personal ooccolor
|
||||||
ALLOW_ADMIN_OOCCOLOR
|
ALLOW_ADMIN_OOCCOLOR
|
||||||
|
|
||||||
@@ -129,10 +83,6 @@ VOTE_PERIOD 600
|
|||||||
## players' votes default to "No vote" (otherwise, default to "No change")
|
## players' votes default to "No vote" (otherwise, default to "No change")
|
||||||
# DEFAULT_NO_VOTE
|
# DEFAULT_NO_VOTE
|
||||||
|
|
||||||
## allow AI job
|
|
||||||
ALLOW_AI
|
|
||||||
|
|
||||||
|
|
||||||
## disable abandon mob
|
## disable abandon mob
|
||||||
NORESPAWN
|
NORESPAWN
|
||||||
|
|
||||||
@@ -188,24 +138,8 @@ TICKLAG 0.9
|
|||||||
## Defines if Tick Compensation is used. It results in a minor slowdown of movement of all mobs, but attempts to result in a level movement speed across all ticks. Recommended if tickrate is lowered.
|
## Defines if Tick Compensation is used. It results in a minor slowdown of movement of all mobs, but attempts to result in a level movement speed across all ticks. Recommended if tickrate is lowered.
|
||||||
TICKCOMP 0
|
TICKCOMP 0
|
||||||
|
|
||||||
## if uncommented this adds a random surname to a player's name if they only specify one name
|
|
||||||
HUMANS_NEED_SURNAMES
|
|
||||||
|
|
||||||
## Uncomment this to ban use of ToR
|
## Uncomment this to ban use of ToR
|
||||||
#TOR_BAN
|
#TOR_BAN
|
||||||
|
|
||||||
## Comment this out to disable automuting
|
## Comment this out to disable automuting
|
||||||
#AUTOMUTE_ON
|
#AUTOMUTE_ON
|
||||||
|
|
||||||
## How long the delay is before the Away Mission gate opens. Default is half an hour.
|
|
||||||
GATEWAY_DELAY 18000
|
|
||||||
|
|
||||||
## Remove the # to give assistants maint access.
|
|
||||||
#ASSISTANT_MAINT
|
|
||||||
|
|
||||||
## Remove the # to make rounds which end instantly (Rev, Wizard, Malf) to continue until the shuttle is called or the station is nuked.
|
|
||||||
## Malf and Rev will let the shuttle be called when the antags/protags are dead.
|
|
||||||
#CONTINUOUS_ROUNDS
|
|
||||||
|
|
||||||
##Remove the # to let ghosts spin chairs
|
|
||||||
#GHOST_INTERACTION
|
|
||||||
@@ -1,26 +1,25 @@
|
|||||||
# MySQL Connection Configuration
|
# MySQL Connection Configuration
|
||||||
|
# This is used for stats, feedback gathering,
|
||||||
|
# administration, and the in game library.
|
||||||
|
|
||||||
# Server the MySQL database can be found at
|
# Should SQL be enabled? Uncomment to enable.
|
||||||
|
SQL_ENABLED
|
||||||
|
|
||||||
|
# Server the MySQL database can be found at.
|
||||||
# Examples: localhost, 200.135.5.43, www.mysqldb.com, etc.
|
# Examples: localhost, 200.135.5.43, www.mysqldb.com, etc.
|
||||||
ADDRESS localhost
|
ADDRESS localhost
|
||||||
|
|
||||||
# MySQL server port (default is 3306)
|
# MySQL server port (default is 3306).
|
||||||
PORT 3306
|
PORT 3306
|
||||||
|
|
||||||
# Database the population, death, karma, etc. tables may be found in
|
# Database for all SQL functions, not just feedback.
|
||||||
DATABASE tgstation
|
FEEDBACK_DATABASE feedback
|
||||||
|
|
||||||
# Username/Login used to access the database
|
# Username/Login used to access the database.
|
||||||
LOGIN mylogin
|
FEEDBACK_LOGIN username
|
||||||
|
|
||||||
# Password used to access the database
|
# Password used to access the database.
|
||||||
PASSWORD mypassword
|
FEEDBACK_PASSWORD password
|
||||||
|
|
||||||
# The following information is for feedback tracking via the blackbox server
|
# Comment out to disable tracking of population and death statistics.
|
||||||
FEEDBACK_DATABASE test
|
|
||||||
FEEDBACK_LOGIN mylogin
|
|
||||||
FEEDBACK_PASSWORD mypassword
|
|
||||||
|
|
||||||
# Track population and death statistics
|
|
||||||
# Comment this out to disable
|
|
||||||
ENABLE_STAT_TRACKING
|
ENABLE_STAT_TRACKING
|
||||||
@@ -1,19 +0,0 @@
|
|||||||
# This configuration file is for the forum database, if you need to set up
|
|
||||||
# population, death, etc. tracking see 'dbconfig.txt'
|
|
||||||
# The login credentials for this will likely differ from those in dbconfig.txt!
|
|
||||||
|
|
||||||
# Server the MySQL database can be found at
|
|
||||||
# Examples: localhost, 200.135.5.43, www.mysqldb.com, etc.
|
|
||||||
ADDRESS localhost
|
|
||||||
|
|
||||||
# MySQL server port (default is 3306)
|
|
||||||
PORT 3306
|
|
||||||
|
|
||||||
# Database the forum data may be found in
|
|
||||||
DATABASE tgstation13
|
|
||||||
|
|
||||||
# Username/Login used to access the database
|
|
||||||
LOGIN mylogin
|
|
||||||
|
|
||||||
# Password used to access the database
|
|
||||||
PASSWORD mypassword
|
|
||||||
@@ -1,40 +1,136 @@
|
|||||||
### HEALTH ###
|
### HEALTH ###
|
||||||
|
|
||||||
## level of health at which a mob becomes unconscious (crit)
|
# level of health at which a mob becomes unconscious (crit)
|
||||||
HEALTH_THRESHOLD_CRIT 0
|
HEALTH_THRESHOLD_CRIT 0
|
||||||
|
|
||||||
## level of health at which a mob becomes dead
|
# level of health at which a mob becomes dead
|
||||||
HEALTH_THRESHOLD_DEAD -100
|
HEALTH_THRESHOLD_DEAD -100
|
||||||
|
|
||||||
|
|
||||||
### REVIVAL ###
|
### REVIVAL ###
|
||||||
|
|
||||||
## whether pod plants work or not
|
# whether pod plants work or not
|
||||||
REVIVAL_POD_PLANTS 1
|
REVIVAL_POD_PLANTS 1
|
||||||
|
|
||||||
## whether cloning tubes work or not
|
# whether cloning tubes work or not
|
||||||
REVIVAL_CLONING 1
|
REVIVAL_CLONING 1
|
||||||
|
|
||||||
## amount of time (in hundredths of seconds) for which a brain retains the "spark of life" after the person's death (set to -1 for infinite)
|
# amount of time (in hundredths of seconds) for which a brain retains the "spark of life" after the person's death (set to -1 for infinite)
|
||||||
REVIVAL_BRAIN_LIFE -1
|
REVIVAL_BRAIN_LIFE -1
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
### MOB MOVEMENT ###
|
### MOB MOVEMENT ###
|
||||||
|
|
||||||
## We suggest editing these variabled in-game to find a good speed for your server. To do this you must be a high level admin. Open the 'debug' tab ingame. Select "Debug Controller" and then, in the popup, select "Configuration". These variables should have the same name.
|
## We suggest editing these variables ingame to find a good speed for your server.
|
||||||
|
## To do this you must be a high level admin. Open the 'debug' tab ingame.
|
||||||
## These values get directly added to values and totals in-game. To speed things up make the number negative, to slow things down, make the number positive.
|
## Select "Debug Controller" and then, in the popup, select "Configuration". These variables should have the same name.
|
||||||
|
|
||||||
|
## These values get directly added to values and totals ingame.
|
||||||
|
## To speed things up make the number negative, to slow things down, make the number positive.
|
||||||
|
|
||||||
## These modify the run/walk speed of all mobs before the mob-specific modifiers are applied.
|
## These modify the run/walk speed of all mobs before the mob-specific modifiers are applied.
|
||||||
RUN_DELAY 0
|
RUN_DELAY 0
|
||||||
WALK_DELAY 0
|
WALK_DELAY 0
|
||||||
|
|
||||||
|
|
||||||
## The variables below affect the movement of specific mob types.
|
## The variables below affect the movement of specific mob types.
|
||||||
HUMAN_DELAY 0
|
HUMAN_DELAY 0
|
||||||
ROBOT_DELAY 0
|
ROBOT_DELAY 0
|
||||||
MONKEY_DELAY 0
|
MONKEY_DELAY 0
|
||||||
ALIEN_DELAY 0
|
ALIEN_DELAY 0
|
||||||
METROID_DELAY 0
|
METROID_DELAY 0
|
||||||
ANIMAL_DELAY 0
|
ANIMAL_DELAY 0
|
||||||
|
|
||||||
|
|
||||||
|
### NAMES ###
|
||||||
|
## If uncommented this adds a random surname to a player's name if they only specify one name.
|
||||||
|
#HUMANS_NEED_SURNAMES
|
||||||
|
|
||||||
|
|
||||||
|
### ALERT LEVELS ###
|
||||||
|
ALERT_GREEN All threats to the station have passed. Security may not have weapons visible, privacy laws are once again fully enforced.
|
||||||
|
ALERT_BLUE_UPTO The station has received reliable information about possible hostile activity on the station. Security staff may have weapons visible, random searches are permitted.
|
||||||
|
ALERT_BLUE_DOWNTO The immediate threat has passed. Security may no longer have weapons drawn at all times, but may continue to have them visible. Random searches are still allowed.
|
||||||
|
ALERT_RED_UPTO There is an immediate serious threat to the station. Security may have weapons unholstered at all times. Random searches are allowed and advised.
|
||||||
|
ALERT_RED_DOWNTO The self-destruct mechanism has been deactivated, there is still however an immediate serious threat to the station. Security may have weapons unholstered at all times, random searches are allowed and advised.
|
||||||
|
ALERT_DELTA The station's self-destruct mechanism has been engaged. All crew are instructed to obey all instructions given by heads of staff. Any violations of these orders can be punished by death. This is not a drill.
|
||||||
|
|
||||||
|
|
||||||
|
### EXPLOSIONS ###
|
||||||
|
|
||||||
|
## Unhash this to use recursive explosions, keep it hashed to use normal style explosions.
|
||||||
|
## Recursive explosions react to walls, airlocks and blast doors, making them look a lot cooler
|
||||||
|
## than the boring old circular explosions. They require more CPU and are (as of March 2013) experimental.
|
||||||
|
## The default map is generally designed for the old style explosions in terms of security.
|
||||||
|
|
||||||
|
#USE_RECURSIVE_EXPLOSIONS
|
||||||
|
|
||||||
|
|
||||||
|
### GAME MODES ###
|
||||||
|
|
||||||
|
## Probablities for game modes chosen in 'secret' and 'random' modes.
|
||||||
|
## Default probablity is 1, increase to make that mode more likely to be picked.
|
||||||
|
## Set to 0 to disable that mode.
|
||||||
|
|
||||||
|
PROBABILITY TRAITOR 5
|
||||||
|
PROBABILITY TRAITORCHAN 4
|
||||||
|
PROBABILITY NUCLEAR 2
|
||||||
|
PROBABILITY REVOLUTION 2
|
||||||
|
PROBABILITY CULT 2
|
||||||
|
PROBABILITY CHANGELING 2
|
||||||
|
PROBABILITY WIZARD 4
|
||||||
|
PROBABILITY MALFUNCTION 1
|
||||||
|
PROBABILITY BLOB 0
|
||||||
|
PROBABILITY METEOR 0
|
||||||
|
PROBABILITY EXTENDED 0
|
||||||
|
|
||||||
|
## You probably want to keep sandbox off by default for secret and random.
|
||||||
|
PROBABILITY SANDBOX 0
|
||||||
|
|
||||||
|
## Uncomment to make rounds which end instantly (Rev, Wizard, Malf) continue until
|
||||||
|
## the shuttle is called or the station is nuked.
|
||||||
|
## Malf and Rev will let the shuttle be called when the antags/protags are dead.
|
||||||
|
#CONTINUOUS_ROUNDS
|
||||||
|
|
||||||
|
## Uncomment to scale the number of antagonists to crew population. Doesn't
|
||||||
|
## affect all gamemodes.
|
||||||
|
#TRAITOR_SCALING
|
||||||
|
|
||||||
|
## Uncomment to prohibit jobs that start with loyalty
|
||||||
|
## implants from being most antagonists.
|
||||||
|
#PROTECT_ROLES_FROM_ANTAGONIST
|
||||||
|
|
||||||
|
|
||||||
|
### RANDOM EVENTS ###
|
||||||
|
|
||||||
|
## Comment this to disable random events during the round.
|
||||||
|
ALLOW_RANDOM_EVENTS
|
||||||
|
|
||||||
|
|
||||||
|
### AI ###
|
||||||
|
|
||||||
|
## Allow the AI job to be picked.
|
||||||
|
ALLOW_AI
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### AWAY MISSIONS ###
|
||||||
|
|
||||||
|
## How long the delay is before the Away Mission gate opens. Default is half an hour.
|
||||||
|
## 600 is one minute.
|
||||||
|
GATEWAY_DELAY 18000
|
||||||
|
|
||||||
|
|
||||||
|
### ACCESS ###
|
||||||
|
## Comment this out if you wish to use the setup where jobs have more access.
|
||||||
|
## This is intended for servers with low populations - where there are not enough
|
||||||
|
## players to fill all roles, so players need to do more than just one job.
|
||||||
|
## Also for servers where they don't want people to hide in their own departments.
|
||||||
|
JOBS_HAVE_MINIMAL_ACCESS
|
||||||
|
|
||||||
|
## Uncomment to give assistants maint access.
|
||||||
|
#ASSISTANT_MAINT
|
||||||
|
|
||||||
|
|
||||||
|
### GHOST INTERACTION ###
|
||||||
|
## Uncomment to let ghosts spin chairs. You may be wondering why this is a config option. Don't ask.
|
||||||
|
#GHOST_INTERACTION
|
||||||
Reference in New Issue
Block a user