Skip to content

Commit

Permalink
feat: world engine v1.0 (#26)
Browse files Browse the repository at this point in the history
Co-authored-by: Heronimus Adie <[email protected]>
  • Loading branch information
smsunarto and heronimus authored Dec 5, 2023
1 parent cddc2c1 commit c6f4daa
Show file tree
Hide file tree
Showing 25 changed files with 569 additions and 571 deletions.
88 changes: 0 additions & 88 deletions .debug/docker-compose-debug.yml

This file was deleted.

File renamed without changes.
160 changes: 160 additions & 0 deletions .ide-debug/docker-compose.debug.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,160 @@
version: "3"
services:
cardinal:
build:
context: ../cardinal
dockerfile: Dockerfile.debug
depends_on:
- redis
expose:
- "3333"
ports:
- "3333:3333"
environment:
- CARDINAL_PORT=3333
- CARDINAL_NAMESPACE=${CARDINAL_NAMESPACE}
- REDIS_ADDR=redis:6379
- REDIS_MODE=normal
restart: unless-stopped
cap_add:
- SYS_PTRACE
security_opt:
- "seccomp:unconfined"

evm:
container_name: evm_base_shard
environment:
# DA_AUTH_TOKEN is obtained from celestia client and passed in from world.toml.
# See https://docs.celestia.org/developers/node-tutorial#auth-token
- DA_AUTH_TOKEN=${DA_AUTH_TOKEN:-}
- DA_BASE_URL=${DA_BASE_URL:-http://celestia-devnet:26658}
- DA_NAMESPACE_ID=${DA_NAMESPACE_ID:-67480c4a88c4d12935d4}
- CHAIN_ID=${CHAIN_ID:-world-engine}
# KEY_MNEMONIC is a test mnemonic and should not be used in production.
# This mnemonic can be overwritten by setting the KEY_MNEMONIC environment variable.
- KEY_MNEMONIC=${KEY_MNEMONIC:-enact adjust liberty squirrel bulk ticket invest tissue antique window thank slam unknown fury script among bread social switch glide wool clog flag enroll}
- FAUCET_ADDR=${FAUCET_ADDR:-world142fg37yzx04cslgeflezzh83wa4xlmjpms0sg5}
- BLOCK_TIME=${BLOCK_TIME:-1s}
image: us-docker.pkg.dev/argus-labs/world-engine/chain:latest
expose:
- "1317"
- "26657"
- "9090"
- "9601"
- "8545"
ports:
- "1317:1317"
- "26657:26657"
- "9090:9090"
- "9601:9601"
- "8545:8545"

nakama:
platform: linux/amd64
image: us-docker.pkg.dev/argus-labs/world-engine/relay/nakama@sha256:60737f1de75b5e1dfe0f1eb557ebf6f8c691cc2812950dc4e3132242709ddc09
container_name: nakama
depends_on:
postgres:
condition: service_healthy
cardinal:
condition: service_started
environment:
- CARDINAL_ADDR=${CARDINAL_ADDR:-cardinal:3333}
- CARDINAL_NAMESPACE=${CARDINAL_NAMESPACE}
- DB_PASSWORD=${DB_PASSWORD:-very_unsafe_password_replace_me}
entrypoint:
- "/bin/sh"
- "-ecx"
- >
/nakama/nakama migrate up --database.address postgres:$DB_PASSWORD@postgres:5432/nakama &&
exec /nakama/nakama --config /nakama/data/config.yml --database.address postgres:$DB_PASSWORD@postgres:5432/nakama
# Replace entrypoint with the following when using cockroachdb instead of postgres.
# entrypoint:
# - "/bin/sh"
# - "-ecx"
# - >
# /nakama/nakama migrate up --database.address root:$DB_PASSWORD@cockroachdb:26257/nakama &&
# exec /nakama/nakama --config /nakama/data/local.yml --database.address root:$DB_PASSWORD@cockroachdb:26257/nakama
extra_hosts:
- "host.docker.internal:host-gateway"
expose:
- "7349"
- "7350"
- "7351"
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:7350/"]
interval: 10s
timeout: 5s
retries: 5
ports:
- "7349:7349"
- "7350:7350"
- "7351:7351"
restart: unless-stopped


nakama-db:
container_name: nakama_db
command: postgres -c shared_preload_libraries=pg_stat_statements -c pg_stat_statements.track=all
environment:
- POSTGRES_DB=nakama
- POSTGRES_PASSWORD=${DB_PASSWORD:-very_unsafe_password_replace_me}
expose:
- "8080"
- "5432"
image: postgres:12.2-alpine
ports:
- "5432:5432"
- "8080:8080"
healthcheck:
test: [ "CMD", "pg_isready", "-U", "postgres", "-d", "nakama" ]
interval: 3s
timeout: 3s
retries: 5
volumes:
- data:/var/lib/postgresql/data
# Recommended: Use cockroachdb instead of postgres for production.
# container_name: nakama_db
# image: cockroachdb/cockroach:latest-v23.1
# command: start-single-node --insecure --store=attrs=ssd,path=/var/lib/cockroach/,size=20%
# restart: "no"
# environment:
# - COCKROACH_DATABASE=nakama
# - COCKROACH_USER=root
# - COCKROACH_PASSWORD=${DB_PASSWORD:-very_unsafe_password_replace_me}
# volumes:
# - data:/var/lib/cockroach
# expose:
# - "8080"
# - "26257"
# ports:
# - "26257:26257"
# - "8080:8080"
# healthcheck:
# test: ["CMD", "curl", "-f", "http://localhost:8080/health?ready=1"]
# interval: 3s
# timeout: 3s
# retries: 5

redis:
container_name: redis
image: redis:latest
command: redis-server
expose:
- "6379"
ports:
- "6379:6379"
restart: always

celestia-devnet:
container_name: celestia_devnet
image: ghcr.io/rollkit/local-celestia-devnet:v0.12.1
restart: on-failure
ports:
- "26657"
- "26658"
- "26659"
- "9090"

volumes:
data:
9 changes: 9 additions & 0 deletions cardinal/component/component_health.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
package component

type Health struct {
HP int
}

func (Health) Name() string {
return "Health"
}
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
package component

type PlayerComponent struct {
type Player struct {
Nickname string `json:"nickname"`
}

func (PlayerComponent) Name() string {
func (Player) Name() string {
return "Player"
}
9 changes: 0 additions & 9 deletions cardinal/component/health.go

This file was deleted.

40 changes: 0 additions & 40 deletions cardinal/config.go

This file was deleted.

27 changes: 0 additions & 27 deletions cardinal/game/constants.go

This file was deleted.

Loading

0 comments on commit c6f4daa

Please sign in to comment.