Wiki
Clone wikiSubSpace Continuum / SubSpace Continuum Directory
SubSpace Continuum Directory
Directory Structure
Your operating system file directory should contain the following:
#!sh
conf/modules.conf
conf/global.conf
SSCD.exe
pthreadGC2.dll
libmysql.dll
modules.conf
Stores program module load order.
Lines beginning with ; are commented and that module will not be loaded.
Beware that the order in which modules are listed can be very sensitive.
The file contents should be as follows:
#!ini logman log_console mainloop net ;enc_null enc_vie ;enc_cont ;enc_ssc proto_core config ;sql dataman ;data_sql ;data_file dir_server dir_client
global.conf
Stores program configuration values.
Modules access their settings here.
The file contents should be as follows:
#!ini [General] RefreshMinutes=60 [Listen] ClientPort=4990 ServerPort=4991 AllowNull=1 AllowVIE=1 AllowCont=1 AllowSSC=1 [SQL] HostName=localhost UserName=SSCD Password=SSCD DataBase=SSCD RetryDelay=30 WriteDelay=30
SQL
SSCD can optionally save to and load from a MySQL database.
You will need to first prepare your database prior to operation as follows:
#!sql CREATE USER 'SSCD'@'%' IDENTIFIED BY 'SSCD'; CREATE DATABASE 'SSCD'; GRANT ALL ON SSCD.* TO 'SSCD'@'%'; CREATE TABLE Zones ( ZoneID SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT, Name VARCHAR(50) NOT NULL, Password VARCHAR(50) NOT NULL, FirstSeen TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, LastSeen TIMESTAMP NOT NULL ON UPDATE CURRENT_TIMESTAMP, IP INT UNSIGNED NOT NULL DEFAULT '0', Port SMALLINT UNSIGNED NOT NULL DEFAULT '0', Scores SMALLINT UNSIGNED NOT NULL DEFAULT '0', Version INT UNSIGNED NOT NULL DEFAULT '0', Description VARCHAR(400) NOT NULL DEFAULT ' ', PRIMARY KEY (ZoneID), UNIQUE KEY (Name) ); CREATE TABLE PlayerCounts ( RecordID SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT, Name VARCHAR(50) NOT NULL, Players SMALLINT UNSIGNED NOT NULL DEFAULT '0', Time TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (RecordID) ); DELIMITER $$$ CREATE PROCEDURE PushZone (IN Name2 VARCHAR(50), IN Password2 VARCHAR(50), IN IP2 INT, IN Port2 SMALLINT, IN Scores2 SMALLINT, IN Version2 INT, IN Description2 VARCHAR(400)) BEGIN IF NOT EXISTS(SELECT * FROM Zones WHERE Name=Name2) THEN INSERT INTO Zones SET Name=Name2, Password=Password2, IP=IP2, Port=Port2, Scores=Scores2, Version=Version2, Description=Description2; ELSE UPDATE Zones SET IP=IP2, Port=Port2, Scores=Scores2, Version=Version2, Description=Description2, LastSeen=NOW() WHERE Name=Name2 AND Password=Password2; END IF; END $$$ DELIMITER ;
Updated