Skip to content

Commit

Permalink
merge
Browse files Browse the repository at this point in the history
  • Loading branch information
silicons committed Jun 2, 2024
2 parents 9e49f6d + 0080723 commit 53597b3
Show file tree
Hide file tree
Showing 2,017 changed files with 136,112 additions and 58,167 deletions.
14 changes: 2 additions & 12 deletions .git-blame-ignore-revs
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,5 @@
#To make use of this file by default, run 'git config blame.ignoreRevsFile .git-blame-ignore-revs'
#in the project folder

## Line ending conversions

# Force LF line endings with gitattributes and convert repo
62676e72a85cd23e7a87d94adff96d17859dbdc5
# Line ending apocalypse
134a76cc8f5517bdc1bba5a8cbe01dc820df1c2a
# Initial pass to convert LF to CRLF
8af8a43d6f27e342e79d4aacb22b7668cbdc8559
# Many changes
931da9e7ef8c0f52a768eed7998e7e62ccdefcdc
# Remove hideous inline tab indentation, and bans it in contributing guidelines
0f435d5dff0a7957e8cba60a41a7fc10439064c3
## Naming changes
23b3274778693cdbca768cd0251e306cea090d12
1 change: 1 addition & 0 deletions .tgs4.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ static_files:
- name: config
populate: true
- name: data
- name: tmp
linux_scripts:
PreCompile.sh: tools/tgs4_scripts/PreCompile.sh
windows_scripts:
Expand Down
10 changes: 5 additions & 5 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,17 +4,17 @@
{
"type": "byond",
"request": "launch",
"name": "Launch DreamSeeker",
"name": "Launch DreamDaemon",
"preLaunchTask": "Build All",
"dmb": "${workspaceFolder}/${command:CurrentDMB}"
"dmb": "${workspaceFolder}/${command:CurrentDMB}",
"dreamDaemon": true
},
{
"type": "byond",
"request": "launch",
"name": "Launch DreamDaemon",
"name": "Launch DreamSeeker",
"preLaunchTask": "Build All",
"dmb": "${workspaceFolder}/${command:CurrentDMB}",
"dreamDaemon": true
"dmb": "${workspaceFolder}/${command:CurrentDMB}"
}
]
}
26 changes: 24 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,14 +37,36 @@ On **May 9, 2022** we have changed the way to compile the codebase.

[Guides for Contributors](.github/CONTRIBUTING.md)

[CitadelRP HACKMD account](https://hackmd.io/@CitadelStation13RP)
[CitadelRP HackMD - Design Documents & Planning](https://hackmd.io/@CitadelStation13RP)

## SQL Setup

The SQL backend for the library and stats tracking requires a MySQL server.
The SQL backend for the library and stats tracking requires a MariaDB server.
Your server details go in /config/legacy/dbconfig.txt, and the SQL schema is in /SQL/tgstation_schema.sql.
More detailed setup instructions arecoming soon, for now ask in our Discord.

todo: update this section

## Static Files

The following folders are considered 'static folders' and should be added to TGS4's static files:

These are also the folders you are likely going to encounter while managing the server.

- /config: server configuration
- /legacy: legacy configuration data go in here
- /data: server persistent data
- /asset-cache - default location for caching of generated assets
- /asset-root - default location for generated assets to be served in webroot mode
- /logs: logs are dumped in here
- /players: player data, like saves and characters get dumped in here
- /tmp: server scratch space
- /assets - for asset generation

You only need to make the top level folders (e.g. config, data) static folders in TGS4.

Subfolders are automatically included.

## LICENSE

The code for Citadel-Station-13-RP is licensed under the [GNU AGPL v3](http://www.gnu.org/licenses/agpl-3.0.html).
Expand Down
125 changes: 103 additions & 22 deletions SQL/database_schema.sql
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,89 @@
CREATE TABLE IF NOT EXISTS `%_PREFIX_%schema_revision` (
`major` TINYINT(3) unsigned NOT NULL,
`minor` TINYINT(3) unsigned NOT NULL,
`date` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`date` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`major`, `minor`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

-- persistence --

-- SSpersistence modules/bulk_entity
CREATE TABLE IF NOT EXISTS `%_PREFIX_%persistence_bulk_entity` (
`id` INT(24) NOT NULL AUTO_INCREMENT,
`generation` INT(11) NOT NULL,
`persistence_key` VARCHAR(64) NOT NULL,
`level_id` VARCHAR(64) NOT NULL,
`data` MEDIUMTEXT,
`round_id` INT(11) NOT NULL,
PRIMARY KEY (`id`),
INDEX(`level_id`, `generation`, `persistence_key`),
INDEX(`level_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

-- SSpersistence modules/level_objects
CREATE TABLE IF NOT EXISTS `%_PREFIX_%persistence_static_level_objects` (
`generation` INT(11) NOT NULL,
`object_id` VARCHAR(64) NOT NULL,
`level_id` VARCHAR(64) NOT NULL,
`data` MEDIUMTEXT NOT NULL,
PRIMARY KEY(`generation`, `object_id`, `level_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

-- SSpersistence modules/level_objects
CREATE TABLE IF NOT EXISTS `%_PREFIX_%persistence_static_map_objects` (
`generation` INT(11) NOT NULL,
`object_id` VARCHAR(64) NOT NULL,
`map_id` VARCHAR(64) NOT NULL,
`data` MEDIUMTEXT NOT NULL,
PRIMARY KEY(`generation`, `object_id`, `map_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

-- SSpersistence modules/level_objects
CREATE TABLE IF NOT EXISTS `%_PREFIX_%persistence_static_global_objects` (
`generation` INT(11) NOT NULL,
`object_id` VARCHAR(64) NOT NULL,
`data` MEDIUMTEXT NOT NULL,
PRIMARY KEY(`generation`, `object_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

-- SSpersistence modules/level_objects
CREATE TABLE IF NOT EXISTS `%_PREFIX_%persistence_dynamic_objects` (
`generation` INT(11) NOT NULL,
`object_id` INT(24) NOT NULL AUTO_INCREMENT,
`level_id` VARCHAR(64) NOT NULL,
`prototype_id` VARCHAR(256) NOT NULL,
`status` INT(24) NOT NULL DEFAULT 0,
`data` MEDIUMTEXT NOT NULL,
`x` INT(8) NOT NULL,
`y` INT(8) NoT NULL,
PRIMARY KEY(`object_id`, `generation`),
INDEX(`object_id`),
INDEX(`level_id`, `generation`),
INDEX(`prototype_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

-- SSpersistence modules/spatial_metadata
CREATE TABLE IF NOT EXISTS `%_PREFIX_%persistence_level_metadata` (
`created` DATETIME NOT NULL DEFAULT Now(),
`saved` DATETIME NOT NULL,
`saved_round_id` INT(11) NOT NULL,
`level_id` VARCHAR(64) NOT NULL,
`data` MEDIUMTEXT NOT NULL,
`generation` INT(11) NOT NULL,
PRIMARY KEY(`level_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

-- SSpersistence modules/string_kv
CREATE TABLE IF NOT EXISTS `%_PREFIX_%persistence_string_kv` (
`created` DATETIME NOT NULL DEFAULT Now(),
`modified` DATETIME NOT NULL,
`key` VARCHAR(64) NOT NULL,
`value` MEDIUMTEXT NULL,
`group` VARCHAR(64) NOT NULL,
`revision` INT(11) NOT NULL,
PRIMARY KEY(`key`, `group`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

-- photography --

-- picture table --
Expand Down Expand Up @@ -49,7 +128,7 @@ CREATE TABLE IF NOT EXISTS `%_PREFIX_%photographs` (
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

-- players --
-- Players --

-- Player lookup table --
-- Used to look up player ID from ckey, as well as --
Expand All @@ -74,6 +153,7 @@ CREATE TABLE IF NOT EXISTS `%_PREFIX_%player` (
`flags` int(24) NOT NULL DEFAULT 0,
`firstseen` datetime NOT NULL DEFAULT Now(),
`lastseen` datetime NOT NULL,
`misc` MEDIUMTEXT NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

Expand Down Expand Up @@ -115,6 +195,25 @@ END
$$
DELIMITER ;


-- Preferences --

-- Stores game preferences --
CREATE TABLE IF NOT EXISTS `%_PREFIX_%game_preferences` (
`player` INT(11) NOT NULL,
`entries` MEDIUMTEXT NOT NULL,
`misc` MEDIUMTEXT NOT NULL,
`keybinds` MEDIUMTEXT NOT NULL,
`toggles` MEDIUMTEXT NOT NULL,
`modified` DATETIME NOT NULL,
`version` INT(11) NOT NULL,
PRIMARY KEY (`player`),
CONSTRAINT `linked_player` FOREIGN KEY (`player`)
REFERENCES `%_PREFIX_%player` (`id`)
ON DELETE CASCADE
ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

-- Security - Ipintel --

-- Ipintel Cache Table --
Expand Down Expand Up @@ -148,24 +247,13 @@ CREATE TABLE IF NOT EXISTS `%_PREFIX_%round` (
CREATE TABLE IF NOT EXISTS `%_PREFIX_%connection_log` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`datetime` datetime NOT NULL,
`serverip` varchar(16) NOT NULL,
`serverip` varchar(45) NOT NULL,
`ckey` varchar(32) NOT NULL,
`ip` varchar(16) NOT NULL,
`ip` varchar(45) NOT NULL,
`computerid` varchar(32) NOT NULL,
PRIMARY KEY(`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

-- Persistence - Object Storage: Strings --
CREATE TABLE IF NOT EXISTS `%_PREFIX_%persist_keyed_strings` (
`created` DATETIME NOT NULL DEFAULT Now(),
`modified` DATETIME NOT NULL,
`key` VARCHAR(64) NOT NULL,
`value` MEDIUMTEXT NULL,
`group` VARCHAR(64) NOT NULL,
`revision` INT(11) NOT NULL,
PRIMARY KEY(`key`, `group`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

-- /datum/character - Character Table --
CREATE TABLE IF NOT EXISTS `%_PREFIX_%character` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
Expand Down Expand Up @@ -293,13 +381,6 @@ CREATE TABLE IF NOT EXISTS `%_PREFIX_%privacy` (
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

CREATE TABLE IF NOT EXISTS `%_PREFIX_%vr_player_hours` (
`ckey` varchar(32) CHARACTER SET latin1 COLLATE latin1_general_ci NOT NULL,
`department` varchar(64) CHARACTER SET latin1 COLLATE latin1_general_ci NOT NULL,
`hours` double NOT NULL,
PRIMARY KEY (`ckey`,`department`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

CREATE TABLE IF NOT EXISTS `%_PREFIX_%death` (
`id` INT(11) NOT NULL AUTO_INCREMENT ,
`pod` TEXT NOT NULL COMMENT 'Place of death' ,
Expand Down
Loading

0 comments on commit 53597b3

Please sign in to comment.