@rhost/testkit 1.6.1 → 1.6.3
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 +64 -1
- package/dist/cli/server-bin.js.map +1 -1
- package/dist/cli/server-init.d.ts +2 -0
- package/dist/cli/server-init.d.ts.map +1 -0
- package/dist/cli/server-init.js +203 -0
- package/dist/cli/server-init.js.map +1 -0
- package/dist/client.d.ts +10 -0
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +19 -0
- package/dist/client.js.map +1 -1
- package/package.json +4 -1
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/dist/client.d.ts
CHANGED
|
@@ -59,6 +59,12 @@ export interface RhostClientOptions {
|
|
|
59
59
|
* Only relevant when useWebSocket is true. Default: false
|
|
60
60
|
*/
|
|
61
61
|
websocketSecure?: boolean;
|
|
62
|
+
/**
|
|
63
|
+
* When true, sends the Pueblo handshake (PUEBLOCLIENT 1.0.1\r\n) after the
|
|
64
|
+
* welcome banner drains, then waits for the server's </puebloclient> ack before
|
|
65
|
+
* returning from connect(). Default: false
|
|
66
|
+
*/
|
|
67
|
+
usePueblo?: boolean;
|
|
62
68
|
}
|
|
63
69
|
export interface PreviewOptions {
|
|
64
70
|
/**
|
|
@@ -98,11 +104,15 @@ export declare class RhostClient {
|
|
|
98
104
|
private paceMs;
|
|
99
105
|
private commandSettleMs;
|
|
100
106
|
private connectTimeout;
|
|
107
|
+
private puebloActive;
|
|
108
|
+
private usePueblo;
|
|
101
109
|
constructor(options?: RhostClientOptions);
|
|
102
110
|
/**
|
|
103
111
|
* Establish the TCP connection. Drains the welcome banner before returning.
|
|
104
112
|
*/
|
|
105
113
|
connect(): Promise<void>;
|
|
114
|
+
/** Whether the server acknowledged the Pueblo handshake. */
|
|
115
|
+
get isPuebloActive(): boolean;
|
|
106
116
|
/**
|
|
107
117
|
* Log in with character credentials.
|
|
108
118
|
* Uses a sentinel `@pemit` to confirm login regardless of welcome text.
|
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/client.js
CHANGED
|
@@ -4,6 +4,7 @@ exports.RhostClient = void 0;
|
|
|
4
4
|
exports.stripAnsi = stripAnsi;
|
|
5
5
|
const crypto_1 = require("crypto");
|
|
6
6
|
const connection_1 = require("./connection");
|
|
7
|
+
const pueblo_1 = require("./pueblo");
|
|
7
8
|
// ESC [ ... m — SGR sequences (colors, bold, etc.)
|
|
8
9
|
// ESC [ ... (A-Z or a-z) — cursor movement, erase, etc.
|
|
9
10
|
// ESC ] ... ST — OSC sequences
|
|
@@ -24,6 +25,7 @@ function stripAnsi(s) {
|
|
|
24
25
|
*/
|
|
25
26
|
class RhostClient {
|
|
26
27
|
constructor(options = {}) {
|
|
28
|
+
this.puebloActive = false;
|
|
27
29
|
this.conn = new connection_1.MushConnection(options.host ?? 'localhost', options.port ?? 4201, {
|
|
28
30
|
useWebSocket: options.useWebSocket,
|
|
29
31
|
websocketPath: options.websocketPath,
|
|
@@ -35,6 +37,7 @@ class RhostClient {
|
|
|
35
37
|
this.commandSettleMs = options.commandSettleMs ?? 0;
|
|
36
38
|
this.paceMs = options.paceMs ?? 0;
|
|
37
39
|
this.connectTimeout = options.connectTimeout ?? 10000;
|
|
40
|
+
this.usePueblo = options.usePueblo ?? false;
|
|
38
41
|
}
|
|
39
42
|
/**
|
|
40
43
|
* Establish the TCP connection. Drains the welcome banner before returning.
|
|
@@ -42,6 +45,22 @@ class RhostClient {
|
|
|
42
45
|
async connect() {
|
|
43
46
|
await this.conn.connect(this.connectTimeout);
|
|
44
47
|
await this.drainBanner(this.bannerTimeout);
|
|
48
|
+
if (this.usePueblo) {
|
|
49
|
+
// generatePuebloHandshake() returns 'PUEBLOCLIENT 1.0.1\r\n'; strip the
|
|
50
|
+
// trailing \r\n because send() appends it automatically.
|
|
51
|
+
const handshake = (0, pueblo_1.generatePuebloHandshake)().replace(/\r\n$/, '');
|
|
52
|
+
this.conn.send(handshake);
|
|
53
|
+
while (true) {
|
|
54
|
+
const line = await this.conn.lines.next(this.connectTimeout);
|
|
55
|
+
if (line.includes('</puebloclient>'))
|
|
56
|
+
break;
|
|
57
|
+
}
|
|
58
|
+
this.puebloActive = true;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
/** Whether the server acknowledged the Pueblo handshake. */
|
|
62
|
+
get isPuebloActive() {
|
|
63
|
+
return this.puebloActive;
|
|
45
64
|
}
|
|
46
65
|
/**
|
|
47
66
|
* Log in with character credentials.
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.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.3",
|
|
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": [
|