Skip to content

st-universe/core

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ST-Universe Source

Unittests Scrutinizer Code Quality Code Coverage

Lokales Setup

Benötigte Software: Linux (geht u.U. auch unter macOS) docker, php 8.3, composer, git.

  • Repository forken und das Source-Code auschecken
  • config.dist.json nach config.json kopieren und anpassen
  • make init
  • make dev-create-db
  • make migrateDatabase
  • ./bin/cli game:reset
  • make dev-serve
  • Use the cli command to create a new user ./bin/cli user:create --help

Danach sollte die Software via https://localhost:1337 erreichbar sein, ggf. kann es sein, dass der Hostname (stu-db) nicht aufgelöst werden kann. In diesem Fall muss für die im docker-compose.yml File hinterlegte IP ein Eintrag in der Hosts-Datei des Betriebssystems gemacht werden.

Server-Deployment

Code:

  • Repository auschecken
  • make init-production
  • make dirs
  • rsync -rv --delete-after --exclude=assets --links --exclude=config.json --exclude=src/Public/admin/manage --exclude=src/Public/avatare/* src bin vendor Makefile cli-config.php config.dist.json /path/to/stuniverse-source/
  • cd /path/to/stuniverse-source && make clearCache && make migrateDatabase

Assets

  • Repository auschecken
  • php generator/building_generator/gen.php
  • php generator/field_generator/generator.php
  • rsync -rv --delete-after --exclude=dist --exclude=".git" . /path/to/stuniverse-source/assets/

DB-Änderungen via Doctrine-Migrations

  • Entities editieren und danach Proxies generieren:
bin/doctrine orm:generate-proxies
  • DB-Änderungen mit Script generieren. In src/Migrations/Sqlite darf immer nur die aktuellste Datei liegen!
generate-migrations.sh
  • DB-Änderungen einspielen:
vendor/bin/doctrine-migrations migrate --all-or-nothing --allow-no-migration --quiet -vv
  • Änderungen der Entities zusammen mit den Migration PHPs einchecken

DB-Dump aus Backups einspielen

  • aktuelles Schema umbenennen, z.B. in 'stuDamaged'
  • neue Datenbank mit Original-Name erstellen, z.B. 'stu'
  • auf Kommandozeile in den postgres user einloggen, mittels 'sudo su - postgres'
  • in Backup-Folder wechseln, z.B: core/dist/db/backup
  • Backup einspielen mittels 'pg_restore -d stu -U postgres -C dd-MM-yyyy.dump'

Automatische Scripte (Rundenwechsel, etc)

Um alle automatisierte Scripte zu den definierten Zeiten laufen zu lassen, muss folgender cronjob hinzugefügt werden.

* * * * * cd /path/to/stu/core && vendor/bin/crunz schedule:run

Die Tasks und deren Schedules werden in Dateien innerhalb des resource/cron Ordners definiert.

Command Line Interface (cli)

Mittels dem Shell-Befehl ./bin/cli kann das STU CLI gestartet werden. Hier können diverse Befehle ausgeführt werden, z.B. das manuelle Auslösen der Rundenwechsel. Alle verfügbaren Befehle können via ./bin/cli --help eingesehen werden.