Synchronet now requires the libarchive development package (e.g. libarchive-dev on Debian-based Linux distros, libarchive.org for more info) to build successfully.

Commit 0a58ca90 authored by Michael Long's avatar Michael Long Committed by Rob Swindell

3rd party external doors - exitilus, jibben, jns

parent ebece39d
Name: Exitilus
Desc: Turn-based, RPG set in medieval times
By: Tao Ge,Ricky Link,ECI Software
Cats: Games
Subs: RPG
exe: EXITILUS.EXE
; "player file in use" during maintenance - do "touch player.dat"
; "news not found" on game reset - create dir pnews
[md5:5c8efef0badeeb892f501c09b7356f95]
ver = 3.20
url = http://www.breakintochat.com/files/doors/ECI/exitv320.zip
[md5:42ca4136942667eaba789fafbf9874e4]
ver = 3.17
url = http://www.breakintochat.com/files/doors/ECI/exitv317.zip
[md5:d34e367ed483e5fc4753830127e780fb]
ver = 3.15
url = http://www.breakintochat.com/files/doors/ECI/exitv315.zip
[md5:10e5b07f035bf2dac9a1356cee290c33]
ver = 2.05
url = http://www.breakintochat.com/files/doors/Ge/EXS205-1.ZIP
; ALSO url = http://www.breakintochat.com/files/doors/Ge/EXS205-2.ZIP
[prog:EXITILUS]
name = Exitilus
cmd = exitilus %#
ars = DOS
execution_ars = NOT GUEST
settings = XTRN_ANSI | XTRN_MULTIUSER | XTRN_SH
type = XTRN_GAP
[exec:../3rdp-install/exitilus.js]
prompt = false
required = true
"use strict";
var gamedir = fullpath(js.startup_dir);
var lines = [];
lines[1] = gamedir;
lines[2] = gamedir;
lines[3] = " 0";
writeln("Beginning node config generation...");
for(i = 0; i < system.nodes; i++) {
var nodenum = i + 1;
file_backup(gamedir + 'exnod' + nodenum + '.cfg');
lines[0] = system.node_list[i].dir + 'door.sys';
var file = new File(gamedir + 'exnod' + nodenum + '.cfg');
if (!file.open("w")) {
writeln("Error " + file.error + " opening " + file.name + " for writing");
exit(1)
}
file.writeAll(lines);
file.close();
}
writeln("Config file generation complete");
exit(0);
Name: Boxcars
Desc: Dice BBS door game
By: Scott Jibben
Cats: Games
Subs: Chance,Blackjack.Dice
exe: BOXCARS.EXE
[md5:da57581a1cca804881d3b0d2a7c01de6]
ver = 1.01
url = https://jibbensoftware.com/download/BOX101.ZIP
;keyfile at https://jibbensoftware.com/download/RBOX777.ZIP
[prog:BOXCARS]
name = Boxcars
cmd = boxcars %#
ars = DOS
execution_ars = NOT GUEST
settings = XTRN_ANSI | XTRN_MULTIUSER | XTRN_SH
type = XTRN_GAP
[exec:../3rdp-install/jibben.js]
prompt = false
required = true
Name: Galactic Overlord
Desc: Up to 6 plays play against each other to control a universe of planets.
By: Scott Jibben
Cats: Games
Subs: War,Space
exe: GO.EXE
[md5:3b6e4c118b08f7604701fa713c839396]
ver = 1.36
url = https://jibbensoftware.com/download/GO136.ZIP
;key at https://jibbensoftware.com/download/RGO777.ZIP
[md5:2c55001ab710901db3fff4f4ca799c2e]
ver = 1.37b
url = https://jibbensoftware.com/download/GO137B.ZIP
[md5:40741e0be3911a7aa75849cc3a0e0bbd]
ver = 1.35
[prog:GOVERLD]
name = Galactic Overlord
cmd = go %#
ars = DOS
execution_ars = NOT GUEST
settings = XTRN_ANSI | XTRN_MULTIUSER | XTRN_SH
type = XTRN_GAP
[exec:../3rdp-install/jibben.js]
prompt = false
required = true
[event:GOMAINT]
prompt = false
cmd = gomaint.exe
name = Galactic Overlord Maintenance
; all days
days = 127
time = 0:00
\ No newline at end of file
Name: Mines of Gorr
Desc: 3D Medieval Role Playing Game
By: Scott Jibben
Cats: Games
Subs: RPG
exe: GORR.EXE
; Run gengorr prior to first game
; Key at https://jibbensoftware.com/download/RMOG777.ZIP
[md5:a4875312b7372e43bea86d4234257179]
ver = 1.00
url = https://jibbensoftware.com/download/MOG100.ZIP
[md5:7ed23d2bdae4942f8bdbad030cbca066]
ver = .30
[prog:GORR]
name = Mines of Gorr
cmd = gorr %#
ars = DOS
execution_ars = NOT GUEST
settings = XTRN_ANSI | XTRN_MULTIUSER | XTRN_SH
type = XTRN_GAP
[exec:../3rdp-install/jibben.js]
prompt = false
required = true
Name: Roll the Bones
Desc: Dice game
By: Scott Jibben
Cats: Games
Subs: Chance,Dice
exe: RTB.EXE
[md5:ffc4b66aad960f271048834b757b70fb]
ver = 1.02
url = https://jibbensoftware.com/download/RTB102.ZIP
[prog:RTB]
name = Roll the Bones
cmd = rtb %#
ars = DOS
execution_ars = NOT GUEST
settings = XTRN_ANSI | XTRN_MULTIUSER | XTRN_SH
type = XTRN_GAP
[exec:../3rdp-install/jibben-rollthebones.js]
prompt = false
required = true
"use strict";
writeln("Generating config files...");
var gamedir = fullpath(js.startup_dir);
var configfile = gamedir + "RTB.CFG";
var nodefile = gamedir + "NODES.CFG";
file_backup(configfile);
file_backup(nodefile);
var conf = new File(configfile);
if (conf.open(file_exists(configfile) ? 'r+' : 'w+')) {
conf.iniSetValue("DOOR SETTINGS", "BBSNAME", system.name);
conf.close();
} else {
writeln("Could not open " + configfile + " for writing");
exit(1);
}
var nodeconf = new File(nodefile);
if (nodeconf.open(file_exists(nodefile) ? 'r+' : 'w+')) {
for(i = 0; i < system.nodes; i++) {
var nodenum = i + 1;
nodeconf.iniSetValue("NODE" + nodenum, "DROPFILE", system.node_list[i].dir + 'door.sys');
nodeconf.iniSetValue("NODE" + nodenum, "FOSSIL", "Y");
}
nodeconf.close();
} else {
writeln("Could not open " + nodefile + " for writing");
exit(1);
}
writeln("Config generation complete");
exit(0);
"use strict";
writeln("Generating config files...");
var gamedir = fullpath(js.startup_dir);
var nodefile = gamedir + "NODES.CFG";
file_backup(nodefile);
var nodeconf = new File(nodefile);
if (nodeconf.open(file_exists(nodefile) ? 'r+' : 'w+')) {
for(i = 0; i < system.nodes; i++) {
var nodenum = i + 1;
nodeconf.iniSetValue("NODE" + nodenum, "DROPFILE", system.node_list[i].dir + 'door.sys');
nodeconf.iniSetValue("NODE" + nodenum, "FOSSIL", "Y");
}
nodeconf.close();
} else {
writeln("Could not open " + nodefile + " for writing");
exit(1);
}
writeln("Config generation complete");
exit(0);
Name: Amazing Memory
Desc: Simon clone where the game displays a sequence and the user repeats it.
By: Rusty Johnson,JNS Software
Cats: Games
Subs: Board
exe: AMAZING.EXE
[md5:80939a979b6ce816f8178a011775a695]
ver = 4.25
url = http://bbsfiles.com/ftp/JNS/jnsam425.zip
[prog:jnsam]
name = Amazing Memory
cmd = amazing.exe FOSSIL ALIAS
ars = DOS
execution_ars = NOT GUEST
settings = XTRN_ANSI | XTRN_MULTIUSER | XTRN_SH
type = XTRN_GAP
[exec:../3rdp-install/jns-amazingmemory.js]
prompt = false
required = true
"use strict";
writeln("Generating config files...");
var i;
var gamedir = fullpath(js.startup_dir);
var configfile = gamedir + "AMAZING.CFG";
var nodedat = gamedir + "DOORINFO.DAT";
file_backup(configfile);
var lines = [];
var file = new File(configfile);
if (file.open(configfile, 'r')) {
lines = file.readAll();
file.close();
} else {
// new config
lines[2] = 'Y';
lines[3] = 'NOLOG';
lines[6] = gamedir + 'amazing.asc';
lines[7] = gamedir + 'amazing.ans';
lines[8] = "";
lines[11] = "2";
lines[12] = "27";
}
lines[0] = system.name;
lines[1] = system.operator;
var mfile = new File(gamedir + "AMAZING.KEY");
if(mfile.open("rb")) {
var md5 = mfile.md5_hex;
writeln("Check key " + md5);
if (md5 == "14989a3a738bf58f651f6e5a31d4a48b") {
writeln("Restoring free key sysop info");
lines[0] = "BBSFILES.COM";
lines[1] = "FREE COPY";
}
mfile.close();
}
lines[4] = "Synchronet";
lines[5] = "DOOR.SYS";
lines[9] = "PCBNODE";
lines[10] = gamedir;
if (file.open(configfile, file_exists(configfile) ? 'r+' : 'w+')) {
file.writeAll(lines);
file.close();
} else {
writeln("Error " + file.error + " opening " + file.name + " for writing");
exit(1)
}
writeln("Beginning node config generation...");
file_backup(nodedat);
var nodedata = "";
for(i = 0; i < 250; i++) {
var nodenum = i + 1;
// you can use COM1 for every node
var nodeentry = (typeof system.node_list[i] !== "undefined") ?
"03F8" : "0000"
nodeentry = nodeentry + "0" + " ";
if (typeof system.node_list[i] !== "undefined") {
nodeentry = nodeentry + system.node_list[i].dir;
}
while (nodeentry.length < 46) {
nodeentry = nodeentry + " ";
}
nodedata = nodedata + nodeentry;
}
var file = new File(nodedat);
if (!file.open("w+")) {
writeln("Error " + file.error + " opening " + file.name + " for writing");
exit(1)
}
file.write(nodedata);
file.close();
writeln("Config generation complete");
exit(0);
"use strict";
writeln("Generating config files...");
var i;
var gamedir = fullpath(js.startup_dir);
var configfile = gamedir + "BOXPOKER.CFG";
var nodedat = gamedir + "DOORINFO.DAT";
file_backup(configfile);
var lines = [];
var file = new File(configfile);
if (file.open(configfile, 'r')) {
lines = file.readAll();
file.close();
} else {
// new config
lines[2] = 'Y';
lines[3] = 'NOLOG';
lines[6] = gamedir + 'boxpoker.asc';
lines[7] = gamedir + 'boxpoker.ans';
lines[8] = "";
lines[11] = "3";
lines[12] = "2";
lines[13] = "27";
}
lines[0] = system.name;
lines[1] = system.operator;
var mfile = new File(gamedir + "BOXPOKER.KEY");
if(mfile.open("rb")) {
var md5 = mfile.md5_hex;
writeln("Check key " + md5);
if (md5 == "5a2069529d7a981f2dc1adca3c51c7c1") {
writeln("Restoring free key sysop info");
lines[0] = "BBSFILES.COM";
lines[1] = "FREE COPY";
}
mfile.close();
}
lines[4] = "Synchronet";
lines[5] = "DOOR.SYS";
lines[9] = "PCBNODE";
lines[10] = gamedir;
if (file.open(configfile, file_exists(configfile) ? 'r+' : 'w+')) {
file.writeAll(lines);
file.close();
} else {
writeln("Error " + file.error + " opening " + file.name + " for writing");
exit(1)
}
writeln("Beginning node config generation...");
file_backup(nodedat);
var nodedata = "";
for(i = 0; i < 250; i++) {
var nodenum = i + 1;
// you can use COM1 for every node
var nodeentry = (typeof system.node_list[i] !== "undefined") ?
"03F8" : "0000"
nodeentry = nodeentry + "0" + " ";
if (typeof system.node_list[i] !== "undefined") {
nodeentry = nodeentry + system.node_list[i].dir;
}
while (nodeentry.length < 46) {
nodeentry = nodeentry + " ";
}
nodedata = nodedata + nodeentry;
}
var file = new File(nodedat);
if (!file.open("w+")) {
writeln("Error " + file.error + " opening " + file.name + " for writing");
exit(1)
}
file.write(nodedata);
file.close();
writeln("Config generation complete");
exit(0);
Name: Bomb Squad
Desc: A power of deduction game where you try to deactivate bombs before they explode
By: Rusty Johnson,JNS Software
Cats: Games
Subs: Puzzle
exe: BOMBSQAD.EXE
[md5:53b97215ab0218a744f54dae8d46f968]
ver = 1.0
url = http://bbsfiles.com/ftp/JNS/jns_bs10.zip
[prog:BOMBSQAD]
name = Bomb Squad
cmd = bombsqad.exe /fossil
ars = DOS
execution_ars = NOT GUEST
settings = XTRN_ANSI | XTRN_MULTIUSER | XTRN_SH
type = XTRN_GAP
[exec:../3rdp-install/jns-bombsquad.js]
prompt = false
required = true
"use strict";
writeln("Generating config files...");
var i;
var gamedir = fullpath(js.startup_dir);
var configfile = gamedir + "BOMBSQAD.CFG";
var nodedat = gamedir + "NODEINFO.DAT";
file_backup(configfile);
var lines = [];
var file = new File(configfile);
if (file.open(configfile, 'r')) {
lines = file.readAll();
file.close();
} else {
// new config
lines[2] = 'Y';
lines[3] = 'NOLOG';
lines[6] = gamedir + 'bombsqad.asc';
lines[7] = gamedir + 'bombsqad.ans';
lines[11] = "5";
lines[12] = "2";
lines[13] = "2";
lines[14] = "300";
}
lines[0] = system.name;
lines[1] = system.operator;
var mfile = new File(gamedir + "BOMBSQAD.KEY");
if(mfile.open("rb")) {
var md5 = mfile.md5_hex;
writeln("Check key " + md5);
if (md5 == "70356999d5473d3fb05693dc7aa36407") {
writeln("Restoring free key sysop info");
lines[0] = "BBSFILES.COM";
lines[1] = "FREE COPY";
}
mfile.close();
}
lines[4] = "Synchronet";
lines[5] = "DOOR.SYS";
lines[9] = "PCBNODE";
lines[10] = gamedir;
if (file.open(configfile, file_exists(configfile) ? 'r+' : 'w+')) {
file.writeAll(lines);
file.close();
} else {
writeln("Error " + file.error + " opening " + file.name + " for writing");
exit(1)
}
writeln("Beginning node config generation...");
file_backup(nodedat);
var nodedata = "";
for(i = 0; i < 250; i++) {
var nodenum = i + 1;
// you can use COM1 for every node
var nodeentry = (typeof system.node_list[i] !== "undefined") ?
"03F8" : "0000"
nodeentry = nodeentry + "0" + " ";
if (typeof system.node_list[i] !== "undefined") {
nodeentry = nodeentry + system.node_list[i].dir;
}
while (nodeentry.length < 46) {
nodeentry = nodeentry + " ";
}
nodedata = nodedata + nodeentry;
}
var file = new File(nodedat);
if (!file.open("w+")) {
writeln("Error " + file.error + " opening " + file.name + " for writing");
exit(1)
}
file.write(nodedata);
file.close();
writeln("Config generation complete");