@rhost/testkit 1.6.1 → 1.6.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cli/server-bin.js
CHANGED
|
@@ -1,6 +1,69 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
"use strict";
|
|
3
|
+
// ---------------------------------------------------------------------------
|
|
4
|
+
// rhost-server — standalone server CLI
|
|
5
|
+
// ---------------------------------------------------------------------------
|
|
3
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
7
|
const server_1 = require("./server");
|
|
5
|
-
|
|
8
|
+
const server_init_1 = require("./server-init");
|
|
9
|
+
const args = process.argv.slice(2);
|
|
10
|
+
const cmd = args[0];
|
|
11
|
+
switch (cmd) {
|
|
12
|
+
case 'start':
|
|
13
|
+
case undefined:
|
|
14
|
+
// bare `rhost-server` or `rhost-server start` both launch the server
|
|
15
|
+
(0, server_1.runServerCli)(cmd === 'start' ? args.slice(1) : args);
|
|
16
|
+
break;
|
|
17
|
+
case 'init':
|
|
18
|
+
(0, server_init_1.runServerInitCli)(args.slice(1));
|
|
19
|
+
break;
|
|
20
|
+
case '--version':
|
|
21
|
+
case '-v': {
|
|
22
|
+
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
23
|
+
const pkg = require('../../package.json');
|
|
24
|
+
console.log(pkg.version);
|
|
25
|
+
break;
|
|
26
|
+
}
|
|
27
|
+
case '--help':
|
|
28
|
+
case '-h':
|
|
29
|
+
printHelp();
|
|
30
|
+
break;
|
|
31
|
+
default:
|
|
32
|
+
// treat unknown first arg as a flag for `start` (e.g. `rhost-server --port 7000`)
|
|
33
|
+
if (cmd.startsWith('-')) {
|
|
34
|
+
(0, server_1.runServerCli)(args);
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
console.error(`rhost-server: unknown command '${cmd}'\n`);
|
|
38
|
+
printHelp();
|
|
39
|
+
process.exit(1);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
function printHelp() {
|
|
43
|
+
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
44
|
+
const pkg = require('../../package.json');
|
|
45
|
+
console.log(`
|
|
46
|
+
rhost-server v${pkg.version} — RhostMUSH Docker server
|
|
47
|
+
|
|
48
|
+
USAGE
|
|
49
|
+
rhost-server [command] [options]
|
|
50
|
+
|
|
51
|
+
COMMANDS
|
|
52
|
+
start Launch a RhostMUSH Docker container (default when no command given)
|
|
53
|
+
init Scaffold a rhost.config.json and supporting files in a directory
|
|
54
|
+
|
|
55
|
+
OPTIONS
|
|
56
|
+
-v, --version Print version and exit
|
|
57
|
+
-h, --help Show this help
|
|
58
|
+
|
|
59
|
+
Run \`rhost-server <command> --help\` for command-specific options.
|
|
60
|
+
|
|
61
|
+
EXAMPLES
|
|
62
|
+
rhost-server # start with defaults
|
|
63
|
+
rhost-server start --port 7000
|
|
64
|
+
rhost-server init # scaffold config in current directory
|
|
65
|
+
rhost-server init my-mush # scaffold into my-mush/
|
|
66
|
+
rhost-server init . --websocket --stunnel
|
|
67
|
+
`.trim());
|
|
68
|
+
}
|
|
6
69
|
//# sourceMappingURL=server-bin.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server-bin.js","sourceRoot":"","sources":["../../src/cli/server-bin.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"server-bin.js","sourceRoot":"","sources":["../../src/cli/server-bin.ts"],"names":[],"mappings":";;AACA,8EAA8E;AAC9E,uCAAuC;AACvC,8EAA8E;;AAE9E,qCAAwC;AACxC,+CAAiD;AAEjD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACnC,MAAM,GAAG,GAAI,IAAI,CAAC,CAAC,CAAC,CAAC;AAErB,QAAQ,GAAG,EAAE,CAAC;IACV,KAAK,OAAO,CAAC;IACb,KAAK,SAAS;QACV,qEAAqE;QACrE,IAAA,qBAAY,EAAC,GAAG,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACrD,MAAM;IAEV,KAAK,MAAM;QACP,IAAA,8BAAgB,EAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAChC,MAAM;IAEV,KAAK,WAAW,CAAC;IACjB,KAAK,IAAI,CAAC,CAAC,CAAC;QACR,8DAA8D;QAC9D,MAAM,GAAG,GAAG,OAAO,CAAC,oBAAoB,CAAwB,CAAC;QACjE,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACzB,MAAM;IACV,CAAC;IAED,KAAK,QAAQ,CAAC;IACd,KAAK,IAAI;QACL,SAAS,EAAE,CAAC;QACZ,MAAM;IAEV;QACI,kFAAkF;QAClF,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACtB,IAAA,qBAAY,EAAC,IAAI,CAAC,CAAC;QACvB,CAAC;aAAM,CAAC;YACJ,OAAO,CAAC,KAAK,CAAC,kCAAkC,GAAG,KAAK,CAAC,CAAC;YAC1D,SAAS,EAAE,CAAC;YACZ,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;AACT,CAAC;AAED,SAAS,SAAS;IACd,8DAA8D;IAC9D,MAAM,GAAG,GAAG,OAAO,CAAC,oBAAoB,CAAwB,CAAC;IACjE,OAAO,CAAC,GAAG,CAAC;gBACA,GAAG,CAAC,OAAO;;;;;;;;;;;;;;;;;;;;;CAqB1B,CAAC,IAAI,EAAE,CAAC,CAAC;AACV,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server-init.d.ts","sourceRoot":"","sources":["../../src/cli/server-init.ts"],"names":[],"mappings":"AAkGA,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,CA8GrD"}
|
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// ---------------------------------------------------------------------------
|
|
3
|
+
// CLI handler: rhost-server init
|
|
4
|
+
// ---------------------------------------------------------------------------
|
|
5
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
8
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
9
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
10
|
+
}
|
|
11
|
+
Object.defineProperty(o, k2, desc);
|
|
12
|
+
}) : (function(o, m, k, k2) {
|
|
13
|
+
if (k2 === undefined) k2 = k;
|
|
14
|
+
o[k2] = m[k];
|
|
15
|
+
}));
|
|
16
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
17
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
18
|
+
}) : function(o, v) {
|
|
19
|
+
o["default"] = v;
|
|
20
|
+
});
|
|
21
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
22
|
+
var ownKeys = function(o) {
|
|
23
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
24
|
+
var ar = [];
|
|
25
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
26
|
+
return ar;
|
|
27
|
+
};
|
|
28
|
+
return ownKeys(o);
|
|
29
|
+
};
|
|
30
|
+
return function (mod) {
|
|
31
|
+
if (mod && mod.__esModule) return mod;
|
|
32
|
+
var result = {};
|
|
33
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
34
|
+
__setModuleDefault(result, mod);
|
|
35
|
+
return result;
|
|
36
|
+
};
|
|
37
|
+
})();
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.runServerInitCli = runServerInitCli;
|
|
40
|
+
const fs = __importStar(require("fs"));
|
|
41
|
+
const path = __importStar(require("path"));
|
|
42
|
+
function parseArgs(args) {
|
|
43
|
+
if (args.includes('--help') || args.includes('-h')) {
|
|
44
|
+
printHelp();
|
|
45
|
+
return null;
|
|
46
|
+
}
|
|
47
|
+
let dir = process.cwd();
|
|
48
|
+
let websocket = false;
|
|
49
|
+
let stunnel = false;
|
|
50
|
+
let reality = false;
|
|
51
|
+
let force = false;
|
|
52
|
+
for (let i = 0; i < args.length; i++) {
|
|
53
|
+
const arg = args[i];
|
|
54
|
+
if (arg === '--websocket' || arg === '--ws') {
|
|
55
|
+
websocket = true;
|
|
56
|
+
}
|
|
57
|
+
else if (arg === '--stunnel') {
|
|
58
|
+
stunnel = true;
|
|
59
|
+
websocket = true; // stunnel implies websocket
|
|
60
|
+
}
|
|
61
|
+
else if (arg === '--reality') {
|
|
62
|
+
reality = true;
|
|
63
|
+
}
|
|
64
|
+
else if (arg === '--force' || arg === '-f') {
|
|
65
|
+
force = true;
|
|
66
|
+
}
|
|
67
|
+
else if (!arg.startsWith('-')) {
|
|
68
|
+
dir = path.resolve(arg);
|
|
69
|
+
}
|
|
70
|
+
else {
|
|
71
|
+
console.error(`rhost-server init: unknown option '${arg}'\n`);
|
|
72
|
+
printHelp();
|
|
73
|
+
process.exit(1);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
return { dir, websocket, stunnel, reality, force };
|
|
77
|
+
}
|
|
78
|
+
function printHelp() {
|
|
79
|
+
console.log(`
|
|
80
|
+
rhost-server init — scaffold a server configuration
|
|
81
|
+
|
|
82
|
+
USAGE
|
|
83
|
+
rhost-server init [dir] [options]
|
|
84
|
+
|
|
85
|
+
ARGUMENTS
|
|
86
|
+
dir Directory to scaffold (default: current directory)
|
|
87
|
+
|
|
88
|
+
OPTIONS
|
|
89
|
+
--websocket, --ws Enable WebSocket support in the generated config
|
|
90
|
+
--stunnel Enable stunnel TLS wrapper (implies --websocket)
|
|
91
|
+
--reality Enable Reality Levels in the generated config
|
|
92
|
+
--force, -f Overwrite existing files
|
|
93
|
+
-h, --help Show this help
|
|
94
|
+
|
|
95
|
+
OUTPUT
|
|
96
|
+
rhost.config.json Server configuration file
|
|
97
|
+
.env Environment variable overrides
|
|
98
|
+
certs/ Directory for TLS certificates (when --stunnel)
|
|
99
|
+
scripts/ Directory for execscript files
|
|
100
|
+
persistent_data/ Directory for persistent game data
|
|
101
|
+
|
|
102
|
+
EXAMPLES
|
|
103
|
+
rhost-server init
|
|
104
|
+
rhost-server init my-mush
|
|
105
|
+
rhost-server init . --websocket
|
|
106
|
+
rhost-server init . --stunnel --force
|
|
107
|
+
`.trim());
|
|
108
|
+
}
|
|
109
|
+
function write(filePath, content, force) {
|
|
110
|
+
if (fs.existsSync(filePath) && !force) {
|
|
111
|
+
console.log(` skip ${path.basename(filePath)} (already exists — use --force to overwrite)`);
|
|
112
|
+
return;
|
|
113
|
+
}
|
|
114
|
+
fs.writeFileSync(filePath, content, 'utf8');
|
|
115
|
+
console.log(` write ${path.relative(process.cwd(), filePath)}`);
|
|
116
|
+
}
|
|
117
|
+
function mkdir(dirPath) {
|
|
118
|
+
if (!fs.existsSync(dirPath)) {
|
|
119
|
+
fs.mkdirSync(dirPath, { recursive: true });
|
|
120
|
+
console.log(` mkdir ${path.relative(process.cwd(), dirPath)}/`);
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
function runServerInitCli(args) {
|
|
124
|
+
const opts = parseArgs(args);
|
|
125
|
+
if (!opts)
|
|
126
|
+
return;
|
|
127
|
+
const { dir, websocket, stunnel, reality, force } = opts;
|
|
128
|
+
mkdir(dir);
|
|
129
|
+
console.log(`\nScaffolding RhostMUSH server config in ${path.relative(process.cwd(), dir) || '.'}\n`);
|
|
130
|
+
// ── rhost.config.json ──────────────────────────────────────────────────
|
|
131
|
+
const config = {
|
|
132
|
+
scriptsDir: './scripts',
|
|
133
|
+
};
|
|
134
|
+
if (websocket || reality) {
|
|
135
|
+
const build = {};
|
|
136
|
+
if (websocket)
|
|
137
|
+
build.enableWebSockets = true;
|
|
138
|
+
if (reality)
|
|
139
|
+
build.enableReality = true;
|
|
140
|
+
config.build = build;
|
|
141
|
+
}
|
|
142
|
+
if (stunnel) {
|
|
143
|
+
config.stunnel = {
|
|
144
|
+
enable: true,
|
|
145
|
+
acceptPort: 4203,
|
|
146
|
+
connectPort: 4201,
|
|
147
|
+
certFile: './certs/server.pem',
|
|
148
|
+
keyFile: './certs/server.key',
|
|
149
|
+
};
|
|
150
|
+
}
|
|
151
|
+
write(path.join(dir, 'rhost.config.json'), JSON.stringify(config, null, 2) + '\n', force);
|
|
152
|
+
// ── .env ───────────────────────────────────────────────────────────────
|
|
153
|
+
const envLines = [
|
|
154
|
+
'# RhostMUSH server settings',
|
|
155
|
+
'RHOST_PORT=4201',
|
|
156
|
+
'RHOST_MUD_NAME=RhostMUSH',
|
|
157
|
+
'RHOST_API_PORT=4202',
|
|
158
|
+
'# Change this before exposing the server to any network:',
|
|
159
|
+
'RHOST_PASS=Nyctasia',
|
|
160
|
+
'',
|
|
161
|
+
'# Persistent game data directory',
|
|
162
|
+
'RHOST_DATA_DIR=./persistent_data',
|
|
163
|
+
];
|
|
164
|
+
if (stunnel) {
|
|
165
|
+
envLines.push('', '# stunnel TLS wrapper', 'STUNNEL_ENABLE=true', 'STUNNEL_ACCEPT_PORT=4203', 'STUNNEL_CONNECT_PORT=4201', '# STUNNEL_CERT=./certs/server.pem', '# STUNNEL_KEY=./certs/server.key');
|
|
166
|
+
}
|
|
167
|
+
write(path.join(dir, '.env'), envLines.join('\n') + '\n', force);
|
|
168
|
+
// ── directories ────────────────────────────────────────────────────────
|
|
169
|
+
mkdir(path.join(dir, 'scripts'));
|
|
170
|
+
mkdir(path.join(dir, 'persistent_data'));
|
|
171
|
+
if (stunnel) {
|
|
172
|
+
mkdir(path.join(dir, 'certs'));
|
|
173
|
+
write(path.join(dir, 'certs', '.gitkeep'), '', force);
|
|
174
|
+
// gitignore the actual cert files, keep the directory
|
|
175
|
+
write(path.join(dir, 'certs', '.gitignore'), '*.pem\n*.key\n*.crt\n*.p12\n', force);
|
|
176
|
+
}
|
|
177
|
+
// ── .gitignore ─────────────────────────────────────────────────────────
|
|
178
|
+
const ignoreLines = [
|
|
179
|
+
'.env',
|
|
180
|
+
'persistent_data/',
|
|
181
|
+
'node_modules/',
|
|
182
|
+
];
|
|
183
|
+
if (stunnel)
|
|
184
|
+
ignoreLines.push('certs/*.pem', 'certs/*.key');
|
|
185
|
+
write(path.join(dir, '.gitignore'), ignoreLines.join('\n') + '\n', force);
|
|
186
|
+
// ── summary ────────────────────────────────────────────────────────────
|
|
187
|
+
console.log('\nDone. Next steps:\n');
|
|
188
|
+
if (stunnel) {
|
|
189
|
+
console.log(' 1. Add your TLS certificate and key to certs/');
|
|
190
|
+
console.log(' (or omit them — a self-signed cert will be generated automatically)');
|
|
191
|
+
console.log(' 2. Edit .env to set RHOST_PASS and RHOST_MUD_NAME');
|
|
192
|
+
console.log(' 3. Run: rhost-server start --build-from-source --config rhost.config.json');
|
|
193
|
+
}
|
|
194
|
+
else {
|
|
195
|
+
console.log(' 1. Edit .env to set RHOST_PASS and RHOST_MUD_NAME');
|
|
196
|
+
console.log(' 2. Run: rhost-server start');
|
|
197
|
+
if (websocket) {
|
|
198
|
+
console.log(' (with WebSocket: rhost-server start --build-from-source)');
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
console.log();
|
|
202
|
+
}
|
|
203
|
+
//# sourceMappingURL=server-init.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server-init.js","sourceRoot":"","sources":["../../src/cli/server-init.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rhost/testkit",
|
|
3
|
-
"version": "1.6.
|
|
3
|
+
"version": "1.6.2",
|
|
4
4
|
"description": "SDK for programmatically testing MUSHcode against a RhostMUSH server",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -20,6 +20,9 @@
|
|
|
20
20
|
"./offline": {
|
|
21
21
|
"require": "./dist/offline/index.js",
|
|
22
22
|
"types": "./dist/offline/index.d.ts"
|
|
23
|
+
},
|
|
24
|
+
"./server-bin": {
|
|
25
|
+
"require": "./dist/cli/server-bin.js"
|
|
23
26
|
}
|
|
24
27
|
},
|
|
25
28
|
"files": [
|