Skip to content

Project Infrastructure

What's to improve

  1. Encourage Tow to transfer VCMI.eu to GANDI so it's can be also renewed without access.
  2. Centralized way to post news about game updates to all social media.
  3. Verify VCMI.eu domain name expiration date with Tow
  4. Verify VCMI.download domain name expiration date with SXX
  5. Verify Google Apps (G Suite) status with Tow

Services and accounts

Infrastructure

Service Details Owner Administrators Notes
GitHub Code hosting, bug tracker, pull requests, website hosting - Tow, AVS, Ivan, Warmonger, SXX -
VCMI.eu domain name Main domain for services Tow - Renewal date unknown
VCMI.download domain name Secondary domain name for downloads SXX - Paid until November 2026. Registered on GANDI; can be renewed by anyone without account access
Hetzner Hosting sponsor for all our self-hosted services - Ivan -
CloudFlare DNS & CDN for our web services - SXX, Ivan All our web services are behind CloudFlare and use Cloudflare SSL certificates
Weblate Game translations - Ivan Hosts translations for VCMI itself (not including mods & website). Uses free "Gratis" plan
Google Play Console VCMI Android App SXX Warmonger, AVS, Ivan, Fay -
Google Apps (G Suite) Email for vcmi.eu domain - Tow, SXX Limited to 5 users; 500 emails/day limit per account. Includes: admin email (service registration), "noreply" (Wiki/Bug Tracker), "forum" (Forums authentication). Likely dead. Verify with Tow
Launchpad PPA Ubuntu package repository Mantas Kriaučiūnas Ivan, SXX, AVS Contains daily builds and latest releases PPA's for Ubuntu
Sonar Cloud Code analysis - Shares credentials with Github Integrated into Github pull requests
Discord Team Discord app holder Ivan Laserlicht, dydzio, Warmonger Holds ownership of Discord VCMI app that is used to display rich presence when people are playing VCMI
DigitalOcean Former hosting sponsor for all our self-hosted services - SXX, Warmonger, Ivan, AVS, Tow -
Snapcraft Dashboard Snap package distribution - SXX Abandoned in favor of Flatpaks and PPA
Coverity Scan Code analysis - SXX, Warmonger, AVS Abandoned in favor of Sonar Cloud
OpenHub Code statistics - Tow -
Docker Hub Container registry - SXX Abandoned and never used?
GitLab Code repository - SXX Reserve account, not used
BitBucket Code repository - SXX Reserve account, not used

Note: "Owner" refers to services that require one (and only one) account to have special superuser-like status, potentially - with legal and/or biling information. If service has no such requirement, this field is left blank.

When possible at least two active core developers must have access to them in case of emergency.

Communities with page managed by VCMI Team

Service Name Owner Administrators Notes
Discord dydzio Ivan, OriginMD, Warmonger Main communication platform
Facebook page SXX, Warmonger Active
Reddit SXX Abandoned in favor of general H3 subreddits
Twitter account SXX Abandoned, User access via TweetDeck
VK / VKontakte page SXX AVS Abandoned
Steam group SXX Dydzio Abandoned
ModDB entry SXX Abandoned
Slack team vmarkovtsev SXX, Warmonger, AVS... Abandoned in favor of Discord
Trello team SXX Abandoned

Heroes 3 communities with VCMI Team presence

Service Name Active team members Notes
VCMI thread on Heroes Community Warmonger, Ivan, dydzio... Very low player activity
Heroes 3 subreddit Ivan, dydzio... VCMI-related questions are rather common
HoMM subreddit Ivan, dydzio... Way less active than Heroes 3 subreddit, but sometimes posts about VCMI do appear

Project Servers Configuration

This section dedicated to explain specific configurations of our servers for anyone who might need to improve it in future.

VPS configuration

All our services are currently hosted by Hetzner. Login is via public key, currently granted to:

  • Ivan Savenko
VPS Specifications Services
vcmi-lobby 4 Gb / 2 CPU / 40 Gb / €4 (+20%) Multiplayer lobby (lobby.vcmi.eu or beholder.vcmi.eu - deprecated) as well as API endpoint
vcmi-web 8 Gb / 4 CPU / 80 Gb / €6.5 (+20%) + €5.72 All our web-based services not related to lobby

Notes:

  • vcmi-web runs Ubuntu 26.04
  • vcmi-lobby runs Ubuntu 24.04, can be upgraded when we need to deploy new lobby
  • VPS with deployed and tested services have backups enabled (+20% costs)
  • In addition, we have separate 100 Gb volume for builds (€5.72 / month), currently attached to vcmi-web

Rules to stick to

  • SSH authentication by public key only.
  • No one except core developers should ever know real server IPs.
  • VPS hostname should never be valid host. Otherwise it's exposed in reverse DNS.

Domain names/

Domain Content Hosted on Notes
vcmi.eu Main page redirect CNAME No content, redirects to real main page
download.vcmi.eu Public downloads & daily builds vcmi-web -
upload.vcmi.eu Domain name for uploading daily builds from Github vcmi-web No http services
beholder.vcmi.eu Multiplayer lobby vcmi-lobby No http services. Used for VCMI 1.7.3 lobby and older. Deprecated in favor of lobby
lobby.vcmi.eu Multiplayer lobby vcmi-lobby No http services
api.vcmi.eu Multiplayer lobby API endpoint vcmi-lobby nginx acts as proxy to provide https wrapper for http-only REST API
forum.vcmi.eu Discourse forum vcmi-web -
bugs.vcmi.eu Bug tracker vcmi-web Redirects to Github Issues
slack.vcmi.eu Slack invite page vcmi-web Redirects to main page
weblate.vcmi.eu Weblate translation service vcmi-web -
wiki.vcmi.eu Wiki vcmi-web Redirects to main page
vcmi.download Main page redirect CNAME No content, redirects to main page
builds.vcmi.download Public downloads vcmi-web Redirects to download.vcmi.eu

Self-hosted services

Currently we have following services deployed:

Potential addition for the future:

  • Conan Artifactory (full-fledged artifactory is likely too resource-heavy, we can consider low-end conan server instead)
  • Crash reporter tool, such as GlitchTip (Tested, not functional enough) or Sentry (Self-hosted option is too resources-heavy, but they offer hosting for open-source)
  • (long-term) Expanded multiplayer lobby with cheat-proof game hosting (likely on a separate, isolated VPS to prevent performance issues)

Web Hosting

For all web services we use Nginx, including websites that run on standalone servers. This allows to easily migrate more services onto another server that already has some services, and use nginx reverse proxy to host all such services on same 443 port.

For certificates all services use Cloudflare Origin certificates. These certificates are issued for free in Cloudflare web UI, have expiration period of 10 years (oldest VCMI certificate will expire in 2032), but can only be used by services that are located behind Cloudflare, which all VCMI services do. Client-facing certificates are managed and automatically updated by Cloudflare.

Configuration files

See scripts directory that contains most of customized configuration files used on our servers. For obvious reasons, sensitive parts that include password and other non-public data are excluded for it