Upcoming Events

Weekly BMW races on Simracing.GP Weekly BMW races on Simracing.GP Other regular AC events on Simracing.GP Weekly GT3 Sprint Races on Simracing.GP Weekly GT4 Sprint Races on Simracing.GP Daily WTCR races on Simracing.GP

Automated server deployments with APX

I am building an Python based, cli-using toolkit to help league admins to deal with rFactor servers. It follows the principle of having an non-invasive CLI interface to simplify and automate the management, updating and deployment of rFactor server instances. It works on every existing rFactor 2 server and does not add dependencies to the server itself, preventing the addition of new stability issues.


The toolkit allows running reproducible builds, e.g. in case you want to add a skin to a server. The building/ updating is done via a single command, so you can grab a coffee instead of having to click throught multiple tools on the server. With having reproducible builds, it eradicates the factor of human-made mistakes between server update runs.


The toolkit itself will be published as Open Source. It's not released yet, it's within a test loop to identify feature requirements and issues. The toolkit will also recieve a web interface, allowing people to sign up for championships and to upload liveries.
 
The application received recently an web interface for less CLI-familiar people. The web interface features following:
  • event configuration
  • server configuration including server keys down- and upload
  • Livery upload
  • Vehicle entry (car name and number)
  • rfm upload (later also weather)
  • Status display
  • Chat interface
You can some screenshots here:
 
Update about recent additions:
  • The web interface now features an signup form
  • Teams can now signup, revoke entries using a form
  • Teams can now upload/ update the liveries using a form
  • Files will be automatically renamed according to rFactor 2 naming schemes
  • The build process now uses ModMgr 64 bit build
  • VEH templates for a vehicle can be now parsed from a given example file, replacements will be done automatically
  • The web gui now automatically downloads the server key, an unlock key can be added and will be uploaded in the background
  • An extended error log was integrated, allowing better troubleshooting
  • The background workers are now included in one script to be executed regularly in the background
  • And update.ini can now be uploaded in the componentn properties
  • All components will be available as bundled with python at release
  • The server side component can now install everything on the fly (including dedicated server and steamcmd)
Documentation and in-detail information -> https://apx.chmr.eu/
 
Last edited:
Seems like a very usefull tool, not being able to quickly setup a server to play in MP with a friend with our cars of choice is a HUGE letdown of rFactor2.
I'd even say it's worth trying to contact s397 and try to make this something official and more refined with their help!
 
I don't think that this project will ever be included in the sim itself. But take it as an advantage - it's open source, so everyone will be able to participate and improve it :)
 
Recent additions
  • The toolkit recieved an experimental update, adding support to upload and manage grip settings per session using the web interface
  • A bug was fixed preventing the server from being started
  • Added more logging output for better troubleshooting
  • A discord webhook was added, allowing to get a log what was happening on the instance (server start/stop/deploy, livery upload, health stats)
  • The wizard web app can now handle automatic numberplates
  • Added some verbosity infos and infos about the APX version to the web app
  • The server can now switch between public and release-candidate branches
  • The build number is now displayed in the web app
  • The sessions and length can now be configured using the web app
  • Currently I am working on full weather support without the need for a plugin

Documentation and in-detail information -> https://apx.chmr.eu/
If anyone interested: https://discord.gg/qwSkeAM
 
Update summary for this week

- Fixed an issue causing the VEH files from being not properly parsed
- Fixed an issue where name and track in the status were mixed up
- Added field "public secret" for using the race control screen
- Added a fix which reduces the status endpoint execution time
- Added a reason to a penalty
- Added an experimental patch whcih adds the status polling in a thread, requesting the status each second. That change reduces the poll time for /status from 2.05s to 5ms
- A new week, a new blog article https://chmr.eu/this-is-race-control/
- Chat messages will no be send asynchronously -> no long load time while creating
- Server actions (start, stop, deploy) are now executed instantly in the background -> no long load time when saving
- The server can now have the state "Server is deploying" in case the wizard already thinks the server is ready to be started. -> This prevents the server from being started/ deployed again when not ready
- The web app does not require to execute a secondary cron command now.
- Updated the manual on https://wiki.apx.chmr.eu/doku.php?id=setup_wizard (added new settings, removed cron mentioning)
- The event configuration now features an optional mod name, in case you want to have something different than apx_{randomstring}. The version number will be still managed by APX itself

Documentation and in-detail information -> https://apx.chmr.eu/
If anyone interested: https://discord.gg/qwSkeAM
 
Top