Merge branch '0.0.9-alpha' of ssh://numinibsd/git/base/enigma-bbs into user-interruptions

This commit is contained in:
Bryan Ashby 2018-11-13 20:01:36 -07:00
commit 5a74cdc8d9
3 changed files with 54 additions and 31 deletions

View File

@ -1564,43 +1564,48 @@
value: { command: "Q" } value: { command: "Q" }
action: @systemMethod:prevMenu action: @systemMethod:prevMenu
} }
//
// The system supports many ways of launching doors including
// modules for DoorParty!, BBSLink, etc.
//
// Below are some examples. See the documentation for more info.
//
{ {
value: { command: "PW" } value: { command: "ABRACADABRA" }
action: @menu:doorPimpWars action: @menu:doorAbracadabraExample
} }
{ {
value: { command: "TW" } value: { command: "TWBBLINK" }
action: @menu:doorTradeWars2002BBSLink action: @menu:doorTradeWars2002BBSLinkExample
}
{
value: { command: "DL" }
action: @menu:doorDarkLands
} }
{ {
value: { command: "DP" } value: { command: "DP" }
action: @menu:doorParty action: @menu:doorPartyExample
} }
{ {
value: { command: "CN" } value: { command: "CN" }
action: @menu:combatNet action: @menu:doorCombatNetExample
} }
{ {
value: { command: "AGENT" } value: { command: "EXODUS" }
action: @menu:telnetBridgeAgency action: @menu:doorExodusCataclysm
} }
] ]
} }
// //
// Example using the abracadabra module for a retro DOS door // Local Door Example via abracadabra module
// //
doorPimpWars: { // This example assumes launch_door.sh (which is passed args)
desc: Playing PimpWars // launches the door.
//
doorAbracadabraExample: {
desc: Abracadabra Example
module: abracadabra module: abracadabra
config: { config: {
name: PimpWars name: Example Door
dropFileType: DORINFO dropFileType: DORINFO
cmd: /home/enigma/DOS/scripts/pimpwars.sh cmd: /home/enigma/DOS/scripts/launch_door.sh
args: [ args: [
"{node}", "{node}",
"{dropFile}", "{dropFile}",
@ -1613,11 +1618,11 @@
} }
// //
// TradeWars 2000 example via BBSLink // BBSLink Example (TradeWars 2000)
// //
// You will need to register with BBSLink to obtain sysCode, authCode and schemeCode // Register @ https://bbslink.net/
// //
doorTradeWars2002BBSLink: { doorTradeWars2002BBSLinkExample: {
desc: Playing TW 2002 (BBSLink) desc: Playing TW 2002 (BBSLink)
module: bbs_link module: bbs_link
config: { config: {
@ -1628,8 +1633,12 @@
} }
} }
// DoorParty! support. You'll need to register to obtain credentials //
doorParty: { // DoorParty! Example
//
// Register @ http://throwbackbbs.com/
//
doorPartyExample: {
desc: Using DoorParty! desc: Using DoorParty!
module: door_party module: door_party
config: { config: {
@ -1639,8 +1648,12 @@
} }
} }
// CombatNet support. You'll need to register at http://combatnet.us/ to obtain credentials //
combatNet: { // CombatNet Example
//
// Register @ http://combatnet.us/
//
doorCombatNetExample: {
desc: Using CombatNet desc: Using CombatNet
module: combatnet module: combatnet
config: { config: {
@ -1649,11 +1662,18 @@
} }
} }
telnetBridgeAgency: { //
desc: Connected to HappyLand BBS // Exodus Example (cataclysm)
module: telnet_bridge // Register @ https://oddnetwork.org/exodus/
//
doorExodusCataclysm: {
desc: Cataclysm
module: exodus
config: { config: {
host: agency.bbs.geek.nz rejectUnauthorized: false
board: XXX
key: XXXXXXXX
door: cataclysm
} }
} }

View File

@ -257,15 +257,18 @@ function buildNewConfig() {
return; return;
} }
const bn = sanatizeFilename(config.general.boardName).replace(/ /g, '_').toLowerCase(); const bn = sanatizeFilename(config.general.boardName)
const menuFile = `${bn}.hjson`; .replace(/[^a-z0-9_\-]/ig, '_')
.replace(/_+/g, '_')
.toLowerCase();
const menuFile = `${bn}-menu.hjson`;
copyFileSyncSilent( copyFileSyncSilent(
paths.join(__dirname, '../../config/menu.hjson'), paths.join(__dirname, '../../config/menu.hjson'),
paths.join(__dirname, '../../config/', menuFile), paths.join(__dirname, '../../config/', menuFile),
fs.constants.COPYFILE_EXCL fs.constants.COPYFILE_EXCL
); );
const promptFile = `${bn}_prompt.hjson`; const promptFile = `${bn}-prompt.hjson`;
copyFileSyncSilent( copyFileSyncSilent(
paths.join(__dirname, '../../config/prompt.hjson'), paths.join(__dirname, '../../config/prompt.hjson'),
paths.join(__dirname, '../../config/', promptFile), paths.join(__dirname, '../../config/', promptFile),