GEMP-SWCCG - server/client for playing Star Wars CCG using a web browser. The program takes care of the rules so you don't have to.
src/docker-compose.yml
is used for local development/test environments.src/docker-compose-prod.yml
contains the minimal changes required to make that same composition work for the production deployment.docker compose build
will build the container images, referring to the configuration file for what settings to use.- Full installation instructions are in the /docker/readme.md
- After starting the server, point your browser of choice to: http://localhost:17001/gemp-swccg/
- The formats are defined in:
gemp-swccg-server/src/main/resources/swccgFormats.json
gemp-swccg-async/src/main/web/js/gemp-016/cards/CardFilter.js
gemp-swccg-async/src/main/web/includes/admin/leagueAdmin.html
- The
CardFilter.js
file controls the display of formats in the deckbuilder and merchant, whileleagueAdmin.html
is for setting up leagues in various formats. Neither does anything unless the content is updated inswccgFormats.json
. swccgFormats.json
contains a list of formats in the order they will appear within the Gemp system.- The first entry within the list will be the default format used by gemp.
- The display name ("name" field) is used within the database. Once a single game has been played for a format, the name cannot be changed without manually updating the database.
- The format of the json records is not unmarshaled is a static typed way, so you can optionally add "comment" fields.
- Formats, once used, should never be deleted from
swccgFormats.json
. - Disable a format by setting the
"hall":false
field:
{
"name":"Dream Cards",
"code":"dream_cards",
"set":[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14],
"hall":false
},
- Tenets are the guidelines behind the format.
- The tenet guides any person to be able to update the format with consistency.
- Tenets are sometimes displayed to supplement the list of format settings available in Gemp and provide additional
{
"comment": "use utinni_maker.py to update the Utinni format. Do not update manually.",
"name":"Utinni! (Jawas Only)",
"code":"utinni",
"setComment": "All sets are always valid",
"set":[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14],
"bannedComment": "generate the list of banned cards with utinni_maker.py",
"bannedIconsComment": "get reference list of icons from gemp-swccg-common/src/main/java/com/gempukku/swccgo/common/Icon.java",
"bannedIcons":[
"DARK_JEDI_MASTER",
"FIRST_ORDER",
"JEDI_MASTER",
"SITH",
"PERMANENT_WEAPON",
"SIDIOUS",
"SKYWALKER"
],
"tenetsLink": "https://www.starwarsccg.org/utinni/"
}
- The
defaultGameTimerMinutes
field can be used to customize the time per game on a format.
{
"name":"Open (100 cards)",
"code":"open_100_card",
"set":[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14],
"deckSize":100,
"defaultGameTimerMinutes":90,
"tenetsLink": "https://www.starwarsccg.org/100card/"
},
- Get the list of icons from
gemp-swccg-common/src/main/java/com/gempukku/swccgo/common/Icon.java
- Use the
bannedIcons
item:
"bannedIcons":[
"DARK_JEDI_MASTER",
"FIRST_ORDER",
"JEDI_MASTER",
"SITH",
"PERMANENT_WEAPON",
"SIDIOUS",
"SKYWALKER"
],