All Projects → popstarfreas → Dimensions

popstarfreas / Dimensions

Licence: MIT license
The load-balancing and routing service for Terraria Servers

Programming Languages

typescript
32286 projects
shell
77523 projects
javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Dimensions

Open-Terraria-API
Open Terraria API - Mac, Linux & Windows
Stars: ✭ 65 (+103.13%)
Mutual labels:  terraria, terraria-server
Tshock
☕️⚡️TShock provides Terraria servers with server-side characters, anti-cheat, and community management tools.
Stars: ✭ 1,739 (+5334.38%)
Mutual labels:  terraria, terraria-server
gweatherrouting
Sailing weather routing made easy
Stars: ✭ 15 (-53.12%)
Mutual labels:  routing
r2
A minimalist HTTP request routing helper for Go.
Stars: ✭ 32 (+0%)
Mutual labels:  routing
nuxt-i18n-routing
Localized routing with Nuxt.js
Stars: ✭ 32 (+0%)
Mutual labels:  routing
flow-router
🚦 Carefully extended flow-router for Meteor
Stars: ✭ 191 (+496.88%)
Mutual labels:  routing
STCRouter
基于标准URL的iOS路由系统,可实现业务模块组件化,控制器之间零耦合,可实现黑白名单控制,可进行native降级到hybrid。
Stars: ✭ 19 (-40.62%)
Mutual labels:  routing
cac-tripplanner
Clean Air Council Circuit Trip Planner and Travelshed
Stars: ✭ 12 (-62.5%)
Mutual labels:  routing
TSManager
第三方TShock管理器, 提供一些便利功能, 并内置了一个图形化脚本编辑器 - Third-party TShock manager, providing some handy features, with a simple script editor of Scratch type built in
Stars: ✭ 17 (-46.87%)
Mutual labels:  terraria
routing-py
🌎 Python library to access all public routing, isochrones and matrix APIs in a consistent manner.
Stars: ✭ 106 (+231.25%)
Mutual labels:  routing
go-reverse-proxy
Reverse proxy with simple routing configuration and override behaviour
Stars: ✭ 21 (-34.37%)
Mutual labels:  routing
framework
Cygnite PHP Framework- A Modern Toolkit For Web Developers
Stars: ✭ 43 (+34.38%)
Mutual labels:  routing
JWT-user-auth-API-bolilerplate
Boilerplate for backend API user authentication with JWT
Stars: ✭ 13 (-59.37%)
Mutual labels:  routing
urltree
Named URL data structure with support for URL building.
Stars: ✭ 36 (+12.5%)
Mutual labels:  routing
RouteNow
RouteNow is a small fast library ⚡ that will help you in developing a SinglePage Application without any dependencies like jQuery, AngularJs, vue.js or any of those bulky frameworks.
Stars: ✭ 17 (-46.87%)
Mutual labels:  routing
CRRouter
A simple and powerful router
Stars: ✭ 54 (+68.75%)
Mutual labels:  routing
neteng-roadmap
Network Engineering at Scale Roadmap/Landscape
Stars: ✭ 53 (+65.63%)
Mutual labels:  routing
HerePy
A library that provides a Python interface to the HERE APIs.
Stars: ✭ 73 (+128.13%)
Mutual labels:  routing
NodeServer
Compare node.js servers
Stars: ✭ 35 (+9.38%)
Mutual labels:  routing
deep-route
Training a deep FCN network in PyTorch to route circuit layouts
Stars: ✭ 55 (+71.88%)
Mutual labels:  routing

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. Later releases may offer better performance. 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
  • OR follow the quickstart guide in the Config Wiki
  • To start Dimensions execute npm run start

Step 4 (Optional): Install Redis

If you do not need to have live reloading of modules / the configuration file then you do not need to do this step.

Download and install Redis for your OS

  • Windows: https://github.com/MSOpenTech/redis/releases

  • Linux: https://redis.io/topics/quickstart

  • 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

  • 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 with strict checks enabled to help catch bugs. It is recommended that you modify the Typescript code instead of the transpiled javascript code. 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.

Extensions

To build an extension:

Supporters

Thanks to all who have financially supported development:

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].