A browser based way to play the Legend of the Five Rings LCG
Clone or download
gryffon Merge pull request #2558 from jeremylarner/bugfix10
Reclusive Zokujin test and bug fix
Latest commit cb78c39 Oct 18, 2018
Permalink
Failed to load latest commit information.
.vscode Split site and games (#578) Mar 12, 2017
client UotE: Support of the Scorpion (#2490) Oct 14, 2018
config Merge branch 'master' into lion-s-pride-brawler Oct 14, 2017
docs Refactor conflict opportunities (#2225) Jul 12, 2018
fiveringsdb-data @ 137c074 Tidy up UotE (#2530) Oct 15, 2018
less Fix to allow any # of attachments (and flexbox fixes for hand as well) ( Sep 20, 2018
public TEaF: Force of the River (#2095) Jul 18, 2018
server Merge pull request #2558 from jeremylarner/bugfix10 Oct 18, 2018
test Merge pull request #2558 from jeremylarner/bugfix10 Oct 18, 2018
views Fix recaptcha errors by using a properly integrated component. (#1405) Sep 21, 2017
.babelrc Update packages and config Sep 29, 2017
.eslintignore Add .eslintignore config and ignore coverage dir (#50) Nov 12, 2016
.eslintrc BotK: Shiotome Encampment (#2070) Jun 26, 2018
.gitignore git ignore Oct 4, 2017
.gitmodules Data fixes (#2406) Aug 6, 2018
.travis.yml Fix up lint command for travis build Nov 22, 2017
LICENSE Add licence file, echoing what is in package.json. Fixes #129 Dec 10, 2016
README.md Fix merge from master Nov 10, 2017
index.js implement logging, registering and other misc stuff Sep 15, 2016
jasmine.json Card refactor (#65) Nov 21, 2016
karma.config.js react-addons-test-utils is deprecated Nov 9, 2017
package.json Update version to 1.3.0; Disciples of the Void Apr 5, 2018
tsconfig.json BotK: Shiotome Encampment (#2070) Jun 26, 2018
version.js update lobby banner and version May 16, 2017
webpack.config.js Update packages and config Sep 29, 2017
webpack.config.production.js Add babel-polyfill to fix all the stuff ie doesnt support Aug 6, 2017

README.md

Ringteki

Web based implementation of The Legend of the Five Rings LCG

FAQ

What is it?

This is the respository for the code internally known as ringteki which is running on jigoku.online allowing people to play L5R LCG online using only their browser

Does't this look a lot like Jinteki/Throneteki? The Android netrunner/AGOT online experience?

Glad you noticed! Yes, jinteki was a huge inspiration for this project, as the interface is clean and user friendly, so I've tried to make this similar in a lot of ways

Ringteki is a fork of the throneteki sourcecode

Can I contribute?

Sure! The code is written in node.js(server) and react.js(client). Feel free to make suggestions, implement new cards, refactor bits of the code that are a bit clunky(there's a few of those atm), raise pull requests or submit bug reports

If you are going to contribute code, try and follow the style of the existing code as much as possible and talk to me before engaging in any big refactors. Also bear in mind there is an .eslintrc file in the project so try to follow those rules.

Documentation for implementing cards

There is also a list of events raised by the code here. If you're writing abilities which listen for these events, it tells you what parameters the event has and whether it has a handler. If you're writing code which calls any of these events, please make sure you pass the same parameters.

The biggest help at the moment would be in terms of CSS, as that's a bit of a weakness of mine, feel free to pick up any of the issues tagged 'CSS' in the issue list.

If you're not coding inclined, then just playing games on the site, and reporting bugs and issues that you find is a big help

X Y Z doesn't work

That's not a question, but that still sucks, sorry :( First, bear in mind the site is in its infancy so a lot of things aren't implemented yet, but you should be able to do most things with a bit of manual input. If there's anything you can't do that you need to be able to do, let me know by raising an issue.

See this document for features I have planned and a link to the currently implemented cards:

How do I do X Y Z?

Check out the About page of a Ringteki live deployment.

Development

Required Software

  • Git
  • Node.js 8
  • MongoDB
  • ZeroMQ Libraries
Clone the repository
git submodule init
git submodule update
npm install # See https://github.com/JustinTulloss/zeromq.node/issues/283 for zmq errors on OS X
mkdir server/logs
node server/scripts/fetchdata.js
node .
node server/gamenode

There are two exectuable components and you'll need to configure/run both to run a local server. First is the lobby server and then there are game nodes. The default configurations assume you are running mongo locally on the default port. If you need to change any configurations, edit config/default.json5 or create a config/local.json5 configuration that overrides any desired settings.

For production:

npm run build
NODE_ENV=production PORT=4000 node .

Then for each game node (typically one per CPU/core):

PORT={port} SERVER={node-name} node server/gamenode

Coding Guidelines

All JavaScript code included in Ringteki should pass (no errors, no warnings) linting by ESLint, according to the rules defined in .eslintrc at the root of this repo. To manually check that that is indeed the case install ESLint and run

eslint client/ server/ test/

from repository's root.

All tests should also pass. To run these manually do:

npm test

If you are making any game engine changes, these will not be accepted without unit tests to cover them.

Sentry.io Project

Sentry.io - RingTeki

Build Status

Travis Build

Discord Discusson

Ringteki Discord Server

Coveralls.io

Coverage Status