From 4204e895bcf536a3aad24c48407a5fc3f64fd9ee Mon Sep 17 00:00:00 2001 From: Ivan Savenko Date: Tue, 5 Sep 2023 00:52:36 +0300 Subject: [PATCH] Updated links --- docs/Readme.md | 1 - docs/TODO list.md | 2 +- docs/developers/Bonus_System.md | 18 +------- docs/developers/Building_Android.md | 4 +- docs/developers/Building_iOS.md | 2 +- docs/developers/Building_macOS.md | 4 +- docs/maintainers/Project_Infrastructure.md | 45 +++++++++++++++++-- .../Project_Servers_Configuration.md | 39 ---------------- docs/modders/Bonus/Bonus_Types.md | 2 +- docs/players/Installation_Linux.md | 2 +- docs/players/Installation_iOS.md | 2 +- 11 files changed, 53 insertions(+), 68 deletions(-) delete mode 100644 docs/maintainers/Project_Servers_Configuration.md diff --git a/docs/Readme.md b/docs/Readme.md index b52bf4130..bd3dd4d67 100644 --- a/docs/Readme.md +++ b/docs/Readme.md @@ -68,7 +68,6 @@ Engine documentation: (NOTE: may be outdated) ## Documentation and guidelines for maintainers - [Project Infrastructure](maintainers/Project_Infrastructure.md) -- [Project Servers Configuration](maintainers/Project_Servers_Configuration.md) - [Release Process](maintainers/Release_Process.md) - [Ubuntu PPA](maintainers/Ubuntu_PPA.md) diff --git a/docs/TODO list.md b/docs/TODO list.md index 6439576b6..04f15c46f 100644 --- a/docs/TODO list.md +++ b/docs/TODO list.md @@ -22,7 +22,7 @@ better selection lists for random map generator template - two versions pick my vision was to create more generic select list component and make town portal select component derive from it -### [Adventure AI](Adventure_AI "wikilink") +### Adventure AI - More functionality - Adventure map spells support diff --git a/docs/developers/Bonus_System.md b/docs/developers/Bonus_System.md index 5838eda59..d215a6eeb 100644 --- a/docs/developers/Bonus_System.md +++ b/docs/developers/Bonus_System.md @@ -30,10 +30,10 @@ There are two basic types of operations that can be performed on the graph: ### Adding a new node -When node is attached to a new black parent [1], the propagation system is triggered and works as follows: +When node is attached to a new black parent (the only possibility - adding parent is the same as adding a child to it), the propagation system is triggered and works as follows: - For the attached node and its all red ancestors - For every bonus -- Call propagator giving the new descendant -\> then attach appropriately bonuses to the red descendant of attached node (or the node itself). +- Call propagator giving the new descendant - then attach appropriately bonuses to the red descendant of attached node (or the node itself). E.g. when a hero equips an artifact, the hero gets attached to the artifact to inherit its bonuses. @@ -79,17 +79,3 @@ The following example shows an artifact providing a bonus based on the level of ] } ``` - -## Calculating the total value of a bonus - -- [List of bonus value types](List_of_bonus_value_types "wikilink") - -## Automatic generation of bonus description - -TBD - -# Notes - - - -[1] the only possibility -\> adding parent is the same as adding a child to it \ No newline at end of file diff --git a/docs/developers/Building_Android.md b/docs/developers/Building_Android.md index 1894ae611..53627fa91 100644 --- a/docs/developers/Building_Android.md +++ b/docs/developers/Building_Android.md @@ -11,7 +11,7 @@ The following instructions apply to **v1.2 and later**. For earlier versions the - - install with Android Studio - - install with `sdkmanager` command line tool - - download from https://developer.android.com/ndk/downloads -- - download with Conan, see [#NDK and Conan](#NDK_and_Conan "wikilink") +- - download with Conan, see [#NDK and Conan](#NDK_and_Conan) 5. (optional) Ninja: download from your package manager or from https://github.com/ninja-build/ninja/releases ## Obtaining source code @@ -54,7 +54,7 @@ This is a traditional CMake project, you can build it from command line or some `cmake -S . -B ../build -G Ninja -D CMAKE_BUILD_TYPE=Debug --toolchain ...` `cmake --build ../build` -You can also see a more detailed walkthrough on CMake configuration at [How to build VCMI (macOS)#Configuring project for building](How_to_build_VCMI_(macOS)#Configuring_project_for_building "wikilink"). +You can also see a more detailed walkthrough on CMake configuration at [How to build VCMI (macOS)](../developers/Building_macOS.md). ### Java code diff --git a/docs/developers/Building_iOS.md b/docs/developers/Building_iOS.md index 93d6b26c8..4795ba64b 100644 --- a/docs/developers/Building_iOS.md +++ b/docs/developers/Building_iOS.md @@ -47,7 +47,7 @@ Advanced users who know exact private key and provisioning profile to sign with, Open `VCMI.xcodeproj` from the build directory, select `vcmiclient` scheme (the only one with nice icon) with your destination device/simulator and hit Run (Cmd+R). -You must also install game files, see [Installation on iOS](Installation_on_iOS "wikilink"). But this is not necessary if you are going to run on simulator, as it is able to use game data from your Mac located at `~/Library/Application Support/vcmi`. +You must also install game files, see [Installation on iOS](../players/Installation_iOS.md). But this is not necessary if you are going to run on simulator, as it is able to use game data from your Mac located at `~/Library/Application Support/vcmi`. ### From command line diff --git a/docs/developers/Building_macOS.md b/docs/developers/Building_macOS.md index 2de407474..556ff67ea 100644 --- a/docs/developers/Building_macOS.md +++ b/docs/developers/Building_macOS.md @@ -72,7 +72,7 @@ Note that if you wish to use Qt Creator IDE, you should skip this step and confi # Building project -You must also install game files to be able to run the built version, see [Installation on macOS](Installation_on_macOS "wikilink"). +You must also install game files to be able to run the built version, see [Installation on macOS](players/Installation_macOS.md). ## From Xcode IDE @@ -89,7 +89,7 @@ Open `VCMI.xcodeproj` from the build directory, select `vcmiclient` scheme and h After building, run `cpack` from the build directory. If using Xcode generator, also pass `-C ` with the same configuration that you used to build the project. -If you use Conan, it's expected that you use **conan-generated** directory at step 4 of [#Conan package manager](#Conan_package_manager "wikilink"). +If you use Conan, it's expected that you use **conan-generated** directory at step 4 of [Conan package manager](Conan.md). # Running VCMI diff --git a/docs/maintainers/Project_Infrastructure.md b/docs/maintainers/Project_Infrastructure.md index 52d0fbff0..c26774b29 100644 --- a/docs/maintainers/Project_Infrastructure.md +++ b/docs/maintainers/Project_Infrastructure.md @@ -1,8 +1,8 @@ < [Documentation](../Readme.md) / Project Infrastructure -This page hold important information about project infrastructure for current and future contributors. At moment it's all maintained by me (SXX), but following information will be useful if someone going to replace me in future. +# Project Infrastructure -You can also check [detailed information on server configuration](Project_servers_configuration "wikilink"). +This page hold important information about project infrastructure for current and future contributors. At moment it's all maintained by me (SXX), but following information will be useful if someone going to replace me in future. ## Services and accounts @@ -94,4 +94,43 @@ Reserve accounts for other code hosting services: 1. Encourage Tow to transfer VCMI.eu to GANDI so it's can be also renewed without access. 2. Use 2FA on CloudFlare and just ask everyone to get FreeOTP and then use shared secret. -3. Centralized way to post news about game updates to all social media. \ No newline at end of file +3. Centralized way to post news about game updates to all social media. + +# Project Servers Configuration + +This page dedicated to explain specific configurations of our servers for anyone who might need to improve it in future. + +## Droplet configuration + +### Droplet and hosted services + +Currently we using two droplets: + +- First one serve all of our web services: + - [Forum](https://forum.vcmi.eu/) + - [Bug tracker](https://bugs.vcmi.eu/) + - [Wiki](https://wiki.vcmi.eu/) + - [Slack invite page](https://slack.vcmi.eu/) +- Second serve downloads: + - [Legacy download page](http://download.vcmi.eu/) + - [Build download page](https://builds.vcmi.download/) + +To keep everything secure we should always keep binary downloads separate from any web services. + +### Rules to stick to + +- SSH authentication by public key only. +- Incoming connections to all ports except SSH (22) must be blocked. +- Exception for HTTP(S) connection on ports 80 / 443 from [CloudFlare IP Ranges](https://www.cloudflare.com/ips/). +- No one except core developers should ever know real server IPs. +- Droplet hostname should never be valid host. Otherwise it's exposed in [reverse DNS](https://en.wikipedia.org/wiki/Reverse_DNS). +- If some non-web service need to listen for external connections then read below. + +### Our publicly-facing server + +We only expose floating IP that can be detached from droplet in case of emergency using [DO control panel](https://cloud.digitalocean.com/networking/floating_ips). This also allow us to easily move public services to dedicated droplet in future. + +- Address: beholder.vcmi.eu (67.207.75.182) +- Port 22 serve SFTP for file uploads as well as CI artifacts uploads. + +If new services added firewall rules can be adjusted in [DO control panel](https://cloud.digitalocean.com/networking/firewalls). \ No newline at end of file diff --git a/docs/maintainers/Project_Servers_Configuration.md b/docs/maintainers/Project_Servers_Configuration.md deleted file mode 100644 index 2f84a2fc5..000000000 --- a/docs/maintainers/Project_Servers_Configuration.md +++ /dev/null @@ -1,39 +0,0 @@ -< [Documentation](../Readme.md) / Project Servers Configuration - - -This page dedicated to explain specific configurations of our servers for anyone who might need to improve it in future. Check [project infrastructure](project_infrastructure "wikilink") page for services and accounts overview. - -## Droplet configuration - -### Droplet and hosted services - -Currently we using two droplets: - -- First one serve all of our web services: - - [Forum](https://forum.vcmi.eu/) - - [Bug tracker](https://bugs.vcmi.eu/) - - [Wiki](https://wiki.vcmi.eu/) - - [Slack invite page](https://slack.vcmi.eu/) -- Second serve downloads: - - [Legacy download page](http://download.vcmi.eu/) - - [Build download page](https://builds.vcmi.download/) - -To keep everything secure we should always keep binary downloads separate from any web services. - -### Rules to stick to - -- SSH authentication by public key only. -- Incoming connections to all ports except SSH (22) must be blocked. -- Exception for HTTP(S) connection on ports 80 / 443 from [CloudFlare IP Ranges](https://www.cloudflare.com/ips/). -- No one except core developers should ever know real server IPs. -- Droplet hostname should never be valid host. Otherwise it's exposed in [reverse DNS](https://en.wikipedia.org/wiki/Reverse_DNS). -- If some non-web service need to listen for external connections then read below. - -### Our publicly-facing server - -We only expose floating IP that can be detached from droplet in case of emergency using [DO control panel](https://cloud.digitalocean.com/networking/floating_ips). This also allow us to easily move public services to dedicated droplet in future. - -- Address: beholder.vcmi.eu (67.207.75.182) -- Port 22 serve SFTP for file uploads as well as CI artifacts uploads. - -If new services added firewall rules can be adjusted in [DO control panel](https://cloud.digitalocean.com/networking/firewalls). \ No newline at end of file diff --git a/docs/modders/Bonus/Bonus_Types.md b/docs/modders/Bonus/Bonus_Types.md index 5fc814ae2..c033c404d 100644 --- a/docs/modders/Bonus/Bonus_Types.md +++ b/docs/modders/Bonus/Bonus_Types.md @@ -306,7 +306,7 @@ Orb of Vulnerability casts a spell at expert level at beginning of battle -- subtype - [spell](spell "wikilink") id +- subtype - Spell ID - val - spell power ### FREE_SHIP_BOARDING diff --git a/docs/players/Installation_Linux.md b/docs/players/Installation_Linux.md index bfbf8aaf2..3e3fb6e45 100644 --- a/docs/players/Installation_Linux.md +++ b/docs/players/Installation_Linux.md @@ -63,7 +63,7 @@ If you are interested in providing builds for other distributions, please let us ## Compiling from source -Please check following developer guide: [How to build VCMI (Linux)](How_to_build_VCMI_(Linux) "wikilink") +Please check following developer guide: [How to build VCMI (Linux)]((../developers/Building_Linux.md)) # Step 2: Installing Heroes III data files diff --git a/docs/players/Installation_iOS.md b/docs/players/Installation_iOS.md index 95bfc557b..88f600771 100644 --- a/docs/players/Installation_iOS.md +++ b/docs/players/Installation_iOS.md @@ -1,6 +1,6 @@ < [Documentation](../Readme.md) / Installation on iOS -You can run VCMI on iOS 12.0 and later, all devices are supported. If you wish to run on iOS 10 or 11, you should build from source, see [How to build VCMI (iOS)](How_to_build_VCMI_(iOS) "wikilink"). +You can run VCMI on iOS 12.0 and later, all devices are supported. If you wish to run on iOS 10 or 11, you should build from source, see [How to build VCMI (iOS)](../developers/Building_iOS.md). ## Step 1: Download and install VCMI