Wiki

Clone wiki

SubSpace Continuum / SubSpace Continuum Biller

SubSpace Continuum Biller

Directory Structure

Your operating system file directory should contain the following:

#!sh

bin/pthreadGC2.dll
bin/libmysql.dll
conf/modules.conf
conf/global.conf
conf/groupdef.conf
conf/staff.conf
SSCD.exe

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

zonedata
playerdata
data_sql
;data_file

text
capman
cmdman
billing

privs
chats
squads
;scores
;banners
;demographics

usercmd

global.conf

Stores program configuration values. Modules access their settings here.
The file contents should be as follows:

#!ini

[General]
RefreshMinutes=60

[Info]
BillerName=Herp A Derp
Owner=DairyProduct

[Listen]
ServersIP=127.0.0.1
ServersPort=13373
AllowNull=1
AllowVIE=1
AllowCont=1
AllowSSC=1

[Security]
AllowAllZones=0
AllowAllPlayers=1
;these should only be set to get initial setup done, and should be unset after
InitialZone=13373
InitialPlayer=Cheese

[SQL]
HostName=localhost
UserName=SSCB
Password=SSCB
DataBase=SSCB
RetryDelay=30
WriteDelay=30

[Decay]
HostDecay=365
ZoneDecay=365
PlayerDecay=365
SquadDecay=365
ChatDecay=365

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 'SSCB'@'%' IDENTIFIED BY 'SSCB';
CREATE DATABASE SSCB;
GRANT ALL ON SSCB.* TO 'SSCB'@'%';

CREATE TABLE Zones
(
    ZoneID SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT,
    Name VARCHAR(150) 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',
    ServerID INT UNSIGNED NOT NULL DEFAULT '0',
    ScoreID INT UNSIGNED NOT NULL DEFAULT '0',
    GroupID INT UNSIGNED NOT NULL DEFAULT '0',
    Banned TINYINT NOT NULL DEFAULT '0',
    PRIMARY KEY (ZoneID),
    UNIQUE KEY (ServerID)
);

CREATE TABLE Users
(
    UserID SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT,
    Name VARCHAR(50) NOT NULL,
    Password VARCHAR(50) NOT NULL,
    Squad 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',
    MachineID INT UNSIGNED NOT NULL DEFAULT '0',
    Timezone INT UNSIGNED NOT NULL DEFAULT '0',
    SecondsPlayed INT UNSIGNED NOT NULL DEFAULT '0',
    Banned TINYINT NOT NULL DEFAULT '0',
    PRIMARY KEY (UserID),
    UNIQUE KEY (Name)
);

CREATE TABLE Scores
(
    ScoreID SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT,
    Time TIMESTAMP NOT NULL ON UPDATE CURRENT_TIMESTAMP,
    UserID SMALLINT UNSIGNED NOT NULL DEFAULT '0',
    ZoneID SMALLINT UNSIGNED NOT NULL DEFAULT '0',
    ServerID INT UNSIGNED NOT NULL DEFAULT '0',
    ScoreGroupID INT UNSIGNED NOT NULL DEFAULT '0',
    GroupID INT UNSIGNED NOT NULL DEFAULT '0',
    Kills INT UNSIGNED NOT NULL DEFAULT '0',
    Deaths INT UNSIGNED NOT NULL DEFAULT '0',
    Flags INT UNSIGNED NOT NULL DEFAULT '0',
    Score INT UNSIGNED NOT NULL DEFAULT '0',
    FlagScore INT UNSIGNED NOT NULL DEFAULT '0',
    PRIMARY KEY (ScoreID)
);

Updated