From b0739b93bdc418f3d946862fe43ee341998fba1e Mon Sep 17 00:00:00 2001 From: Jiri Kalvoda Date: Mon, 26 Sep 2022 17:42:50 +0200 Subject: [PATCH] =?UTF-8?q?Strategick=C3=A1:=20Lep=C5=A1=C3=AD=20dokumenta?= =?UTF-8?q?ce?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 55 ++++++++++++++++++++++++++++++++++++++++++++++++ server/README.md | 30 ++++++++++++++++++++++---- 2 files changed, 81 insertions(+), 4 deletions(-) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..2e158de --- /dev/null +++ b/README.md @@ -0,0 +1,55 @@ +Strategická hra na soustředění KSP 2022. +======================================== + + Copyright (C) 2022 Jiří Kalvoda + 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 + + 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 . + +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. diff --git a/server/README.md b/server/README.md index 93d2ba4..1ebe3f8 100644 --- a/server/README.md +++ b/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 + # + 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