Skip to content

UI repository for Camelot Unchained, a tri-realm RvR MMORPG.

License

Notifications You must be signed in to change notification settings

jamkoo/Camelot-Unchained

 
 

Repository files navigation

Camelot-Unchained

UI repository for Camelot Unchained, a tri-realm RvR MMORPG.

Requires

  • NodeJS 6.x.x or higher

Directory Structure

game\       -- In-game UI modules
library\    -- NPM published client library package `camelot-unchained` on npm
patcher\    -- Client Patcher UI
web\        -- Website projects
tools\      -- Tools to assist with development
widgets\    -- Standalone projects that are built to be shared and used within multiple other projects or externally. These widgets are published to the CU Private Registry.
shared\     -- Contains shared items that are used within multiple categories (ie. web & patcher & in-game)
  | components\     -- React components that have no session state / do not use redux, can contain sub-components

Building Projects

This project is split up into multiple sub projects, each as their own private npm package which must be compiled individually. For example, if you would like to work on the HUD UI module your process would be:

  1. Navigate to the HUD module directory

    cd game/hud
  2. Install npm packages. (Ensure you've already set up the correct registry, see above)

    npm i
  3. Now you can build the module, which has several options.

    1. Publish - Will build the module ready to be deployed into the game client. Outputs to dist/

      npm run publish
    2. Dev - Will run the module in development mode, this will start a live reload server, open your browser to a localhost development address, and watch the source code directories for changes. In dev mode, a build will be triggered whenever you make a change to a source file and it will automatically reload the web page preview.

      npm run dev
    3. Build - Builds the project. Outputs to dist/, not very useful on it's own

      npm run build 
    4. Build:Hatchery - Builds and then copies the build output to the UI module override directory for any game client running on channel 4 (named Hatchery). This is the server / client channel that is used for Internal Testing. The override directory can be found at %localappdata%\CSE\CamelotUnchained\4\INTERFACE\ Using this command you can then run the game client from the patcher on the correct channel / server and see the result live in the game client.

      npm run build:hatchery
    5. Build:Wyrmling - Like build:hatchery except will output to channel 10 (named Wyrmling). This is the server / client typically used for alpha / beta tests.

      npm run build:wyrmling
    6. Build:Cube - Like build:hatchery except will output to channel 27 (named CUBE). This is the CUBE client channel which has a slightly modified client specifically for CUBE.

      npm run build:cube

Private Registry

This project requires that you install and build npm packages from a private NPM registry. The registry is found at http://registry.camelotunchained.com:4873. .npmrc files are included with each project so no setup is needed if you are just installing and building this project. If you are going to publish packages, talk to @codecorsair to get a user account set up on our registry.

About

UI repository for Camelot Unchained, a tri-realm RvR MMORPG.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 69.1%
  • CSS 21.1%
  • JavaScript 7.4%
  • HTML 2.4%