2.3.1 • Published 4 months ago

hackchat-server v2.3.1

Weekly downloads
-
License
MIT
Repository
github
Last release
4 months ago

NPM version NPM downloads travis build Dependency Status Codecov Language grade: JS/TS MIT License semantic-release Patreon

Table of contents

About

hackchat-server is a general use websocket server module designed to quickly bootstrap an application. The protocol is json only, with a module-based RPC-style command structure.

  • Hot reload support
    • Update code without losing current connections
  • Built in ratelimiting & ip ban
  • Simple statistics tracking
  • Self documenting *
  • Session recovery *
  • Multi-language support
  • Quick module boilerplate generation
    • npx hc-generate-cmd

Installation

Node.js (version 14.0) or newer is required.

Add to your project with npm install hackchat-server --save.

Once installed, run npx hc-config to generate a config file. Skip this step if you are using an existing config file.

Next, you may choose to run npx hc-import and import the standard modules. You should, at minimum, import the internal/* modules, unless you're working with existing command module files. The hc-import script will accept a --remote argument to import remote command modules, like npx hc-import --remote=https://github.com/someUser/command-modules.git. (Note: currently this feature is unavailable)

Or use npx hc-generate-cmd to quickly generate boilerplate modules.

All hc-config, hc-import & hc-generate-cmd scripts support multiple languages via the --lang argument. See example values in languages section. Example: hc-generate-cmd --lang=fr

Example usage

import { CoreApp } from 'hackchat-server';

const server = new CoreApp({
  configPath: '.hcserver.json',
  logErrDetailed: true,
  lang: 'en',
});

server.init();

Standard Modules

1) internal\disconnect.js CLient disconnection event handler 2) internal\socketreply.js Client error/warn event handler 3) remote\session.js Standard remote session handler 4) utility\help.js Self documentation module 5) utility\reload.js Command hot reloader module

Links

Languages

Currently supported:

Contributing

Languages:

After forking & cloning this repo, navigate to the src/translations directory. Duplicate the en.json file. What you name the duplicate json file is fairly important, highly suggest that you use the two-letter ISO 639-1 abbreviations. The new language file will then be used by the lang property passed to the server, or by the --lang argument on the npx scripts.

Issues:

Before creating an issue, please ensure that it hasn't already been reported/suggested, and double-check the documentation.

2.3.0

4 months ago

2.3.1

4 months ago

2.2.27

2 years ago

2.2.26

3 years ago

2.2.25

3 years ago

2.2.24

3 years ago

2.2.23

3 years ago

2.2.22

3 years ago

2.2.21

3 years ago

2.2.2

3 years ago

2.2.1

3 years ago