https://github.com/st-universe/core
ST-Universe Browsergame Source Code
https://github.com/st-universe/core
browsergame php stu
Last synced: 6 months ago
JSON representation
ST-Universe Browsergame Source Code
- Host: GitHub
- URL: https://github.com/st-universe/core
- Owner: st-universe
- License: mit
- Created: 2019-07-30T18:34:09.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2025-12-19T15:34:19.000Z (6 months ago)
- Last Synced: 2025-12-22T06:31:41.814Z (6 months ago)
- Topics: browsergame, php, stu
- Language: PHP
- Homepage: https://www.stuniverse.de
- Size: 21.2 MB
- Stars: 27
- Watchers: 9
- Forks: 15
- Open Issues: 16
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ST-Universe Source
[](https://github.com/st-universe/core/actions/workflows/unittests.yml)
[](https://scrutinizer-ci.com/g/st-universe/core)
[](https://scrutinizer-ci.com/g/st-universe/core/?branch=master)
## Lokales Setup
Benötigte Software: Linux (geht u.U. auch unter macOS) docker, php 8.4, composer, git.
- Repository forken und das Source-Code auschecken
- config.dist.json nach config.json kopieren und anpassen
- make local-setup
- Use the cli command to create a new user `./bin/cli user:create --help`
Danach sollte die Software via 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 die DB-Änderungen mit Script generieren. In src/Migrations/Sqlite darf immer nur die aktuellste Datei liegen!
```shell
generate-migrations.sh
```
- DB-Änderungen einspielen:
```shell
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.
```shell
* * * * * 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.