Browse Source

Strategická: Lepší dokumentace

master
Jiří Kalvoda 4 months ago
parent
commit
b0739b93bd
  1. 55
      README.md
  2. 30
      server/README.md

55
README.md

@ -0,0 +1,55 @@
Strategická hra na soustředění KSP 2022.
========================================
Copyright (C) 2022 Jiří Kalvoda <jirikalvoda@kam.mff.cuni.cz>
Copyright (C) 2022 David Klement
Copyright (C) 2022 Martin Koreček
Some parts of code is from OSMO:
Copyright (C) 2020 - 2022 Martin Mareš
Copyright (C) 2020 - 2022 Jiří Setnička
Copyright (C) 2021 - 2022 Jiří Kalvoda
And MHD game on SKSP2021:
Copyright (C) 2022 Jiří Kalvoda <jirikalvoda@kam.mff.cuni.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
the Free Software Foundation, either version 3 of the License, or
any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
Koncept hry
===========
Jedná se o programovací hru postavenou okolo web serveru a JSON API.
Hra se hraje v tazích po 10 až 60 sekundách. V každém tahu si každý soutěžící stáhne
stav hry a odpoví svým tahem. Ten se pak centrálně vyhodnotí.
Předpokládá se, že hráči upravují svůj program v závislosti na aktuálním stavu hry.
Instalace
=========
Viz `server/README.md`
Hry
===
Momentálně je implementována jediná hra -- Obsazování území.
Viz `pravidla.md`.
Web server do ovšem psaný dostatečně obecně na to aby šli další hry přidat.
Podívejte se do `server/hra/game.py` a případně do `server/hra/web/game.py`,
kde je zobrazování stavu hry jako webové stránky.

30
server/README.md

@ -15,17 +15,38 @@ Velké poděkování patří Medvědovi a Jirkovi Setničkovi, jejichž kód vyk
postgres=# CREATE DATABASE ksp_strathra_devel WITH OWNER=$(UŽVATELSKÉ JMÉNO);
# Naplníme databázi
bin/db_init
bin/db_init [--drop]
# Přístup do orgočásti webu
bin/create_user --org root <heslo>
#
bin/build nebo bin/update
./flask run
# Po běžných úpravách není potřeba balíček přeinstalovávat
## Instalace na produkční server
## CMD ovládání
Některé části serveru se nedají ovládat přes web, je nutné pouštět skripty v adresáři
`bin`. Před spouštěním je nutné aktivovat venv!
Vytváření nové hry (konfigurace přepsáním programu):
./bin/create_game
TODO: Upravit (momentálně pouze vykradeno)
Každý uživatel při vzniku dostane také testovací hru (parametry v `hra/lib.py`).
Ovládání hry:
./bin/control_game
Aby fungovali automatické kroky, je nutné nechat běžet
./bin/control_game [id] --autosteps
Vytváření (orgovského) účtu:
./bin/create_user [--org]
## Instalace na produkční server
# Pro systém s jádrem < 5.4 zvýšit net.core.somaxconn (jako root)
[ "`cat /proc/sys/net/core/somaxconn`" -lt 4096 ] && echo net.core.somaxconn=4096 >> /etc/sysctl.conf && sysctl -p
@ -44,6 +65,7 @@ TODO: Upravit (momentálně pouze vykradeno)
vi authorized_keys
# Pushnout data (jako svůj uživatel v složce s README)
bin/build nebo bin/update
bin/deploy
# Nainstalovat venv
@ -53,7 +75,7 @@ TODO: Upravit (momentálně pouze vykradeno)
pip install -c constraints.txt --editable .
# Inicializovat databázi (už jako mo-web)
bin/db_init
bin/db_init [--drop]
# Pustit web
uwsgi --http 127.0.0.1:8000 --master -p 4 -w hra.web:app

Loading…
Cancel
Save