Giter Club home page Giter Club logo

gameon's Introduction

gameon: The Root Repository / Quick start developers guide.

This is the TL;DR version. For more details/background/links, see: Intro to Game On! (GitBook)

As a prerequisite, make sure Docker is installed and running.

Local Room Development

  1. Obtain the source for this repository:
  • HTTPS: git clone https://github.com/gameontext/gameon.git
  • SSH: git clone [email protected]:gameontext/gameon.git
  1. Change to the gameon directory
cd gameon
  1. One time setup, this will ensure that required keystores are setup, and that you have an env file suitable for use with docker-compose (whether you're using docker-machine or not).
./go-setup.sh

This setup step also pulls the initial images required for running the system.

  1. Start Game ON platform services (amalgam8, couchdb, and an elk stack!). These services are configured in platformservices.yml.
./go-platform-services.sh start
  1. Start the core Game ON services (Player, Mediator, Map)
./go-run.sh start

The go-run.sh script contains shorthand operations to help with starting, stopping, and cleaning up after Game ON core services (in docker-compose.yml).

Game On! is now running locally.

  • If you're running a *nix variant, you can access it at http://127.0.0.1/
  • If you're running Mac or Windows, access it using the docker host IP address (see below)

Carry on with building your rooms!


Core Game Development

  1. Obtain the source:
  • HTTPS: git clone https://github.com/gameontext/gameon.git
  • SSH: git clone [email protected]:gameontext/gameon.git
  1. Change to the gameon directory
cd gameon
  1. One time setup, this will ensure that required keystores are setup, and that you have an env file suitable for use with docker-compose (whether you're using docker-machine or not).
./go-setup.sh

This setup step also pulls the initial images required for running the system.

  1. Start Game ON platform services (amalgam8, couchdb, and an elk stack!). These services are configured in platformservices.yml.
./go-platform-services.sh start
  1. Build the docker containers (see below)
    ./go-run.sh rebuild
    

Game On! is now running locally.

  • If you're running a *nix variant, you can access it at http://127.0.0.1/
  • If you're running Mac or Windows, access it using the docker host IP address (see below)

Core Game Development - changing code

Using the map project as an example,

  1. Obtain the source for the project that you want to change.
git submodule init map
git submodule update map
  1. Re-enable the build directive in the docker-compose.yml file and comment out the image directive.
map:
 build:
   context:  map/map-wlpcfg
#image: gameontext/gameon-map
 volumes:
  - 'keystore:/opt/ibm/wlp/usr/servers/defaultServer/resources/security'
  1. Build the project(s) (includes building wars and creating keystores required for local development) to be deployed.
./go-run.sh rebuild map

For subsequent code changes to the same project, you just need to execute go-run.sh rebuild map. To rebuild multiple projects, you can specify multiple projects as arguments, eg. go-run.sh rebuild map player auth To rebuild all projects, use go-run.sh rebuild or go-run.sh rebuild all


Notes

Supporting 3rd party auth

3rd party authentication (twitter, github, etc.) will not work locally, but the anonymous/dummy user will. If you want to test with one of the 3rd party authentication providers, you'll need to set up your own tokens to do so (see gameon.env)

Use the right IP address

If you run on an operating system that uses a host VM for docker images (e.g. Windows or Mac), then you need to update some values in gameon.env to match the IP address of your host. The host IP address is returned by docker-machine ip <machine-name>.

go-setup.sh will create a customized copy of gameon.env for the active DOCKER_MACHINE_NAME, that will perform the substitution to the associated IP address.

Iterative development of Java applications with WDT

We highly recommend using WebSphere Developer Tools (WDT) to work with the Java services contained in the sample.

If you favor incremental publish with docker containers, create a docker-compose-override.yml file that maps the local development directory as a volume (see docker-compose-override.yml.example for strings to cut and paste). There is some (one time) configuration required to make WDT happy with the docker-hosted applications.

Contributing

Want to help! Pile On!

Contributing to Game On!

gameon's People

Contributors

ebullient avatar bardweller avatar benjsmi avatar marknsweep avatar katheris avatar osowski avatar samze avatar iainduncani avatar

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.