Giter VIP home page Giter VIP logo

dimensions's Introduction

Build Status

README

Dimensions is: A routing service that can also load balance connections. For use with Terraria Servers.

Installation

Step 1: Install NodeJS

Follow the link and download either version. https://nodejs.org/en/

Step 2: Install the Plugin

Download the plugin and put it in each Terraria Server for use with Dimensions

Step 3: Setting Up and Running

  • Download the latest release and extract it to its own folder
  • Open a cmd prompt/terminal at the folder and execute the command npm install --only=production (it may take a bit to finish)
  • Copy the file "config.js.example" and rename it to "config.js" and edit it to your specifications (Config Wiki)
  • To start Dimensions execute npm run start

Step 4 (Optional): Install Redis

Download and install Redis for your OS

Redis is used for the Pub/Sub for detached reloading. If you do not care for this, you do not need to install redis.

  • Set enabled to true in the config for the redis option
  • To reload changes to the cmd handlers, packet handlers, config or extensions, without restarting Dimensions
    • Run node dimensions_cli.js
      • Reload Config: reload
      • Reload Command Handlers: reloadcmds
      • Reload Packet Handlers: reloadhandlers
      • Reload Extensions: reloadplugins
    • The responses for each command currently are only output by each Dimensions instance rather than in the CLI

Development

If you intend to modify Dimensions in any way, be it for your own use or to make minor changes, it is recommended that you modify the original Typescript. This will not only provide you with more safety regarding changes, but the original source is likely to be more understandable and you can merge changes from this repo using git.

  • Clone this repo
  • cd into the new directory
  • run npm install
  • There are a few scripts in the package.json
    • to build (and test) npm run build this will transpile the ts files to js, run the tests and put all output js files into a build directory
    • to build then run npm run bstart this will build and then run the index.js in the build directory
    • to start without building run npm run start

Dimensions uses the latest Typescript (v2) and uses the strict null checking. When editing and building, it is important to use these features when developing to avoid issues that would otherwise have been caught by the transpiler.

Extensions

To build an extension:

Supporters

Thanks to all who have financially supported development:

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.