Skip to content

Releases: Special-K-s-Flightsim-Bots/DCSServerBot

DCSServerBot Release 3.0.4.20

25 Dec 22:02

Choose a tag to compare

Small update due to a library issue with Python 3.14.

DCSServerBot Release 3.0.4.19

24 Dec 12:32

Choose a tag to compare

I wish you all a Merry Christmas!

Enhancements:

  • Scheduler: new feature "clear_maintenance" to clear any maintenance flag on startup.
  • Punishment: informative events can be sent to a different channel now (or disabled)

Changes

  • Python 3.10 is deprecated now.
  • Plugin DBExporter is deprecated now.
  • RealWeather: added new scale-factor to the schema
  • Voting: /vote create will immediately fire, if the server is empty.
  • Tacview: ignore unknown parameters in the schema validation.
  • Permission check for channels improved.
  • Better error messages on report errors.
  • Cloud: Improved DGSA ban handling to prevent Discord rate limits.
  • SRS: Do not overwrite the lotatc_export_port if set in the SRS.cfg already.
  • Ban expiration message changed to show relative and absolute times now (DCS restart required!)

Bugfixes

  • /airbase capture: coalition now mandatory (hotfixed)
  • /airbase xxx: some airbases don't have an ICAO (hotfixed)
  • /traps board: overlapping names fixed
  • Core: Messages duplication on falsely detected split messages (hotfixed)
  • Core: Resent messages can trigger exceptions.
  • Coalitions: Typo in coalition detection
  • Coalitions: /missionstats did not check coalition membership
  • Coalition: /airbase info did not check coalition membership
  • Channel ID -1 should not be checked.
  • MissionStats: wrong calculation of achievements fixed.
  • MissionStats: option to disable the achievements by not providing a SQL
  • Competitive: /trueskill history set a global grid on all graphs.
  • Greenieboard: initialization script was not amended to the new init_ids.
  • Non-scheduler-managed servers were not auto-started again after a DCS update.

A restart of DCS would be recommended after applying this patch.

DCSServerBot Release 3.0.4.18

16 Dec 14:56

Choose a tag to compare

Unfortunately there were some issues with the new /airbase commands on maps with a ton of airports like GCW.
I have fixed that now, which needs a restart of your DCS servers to work.

Changes:

  • Core: Allow split of UDP-packages to support large messages (> 65507 bytes)
  • Core: Socket buffer tuning
  • Mission: Warehouse data is uploaded in parallel now.

Bugfixes

  • Download of FARPs and CVNs did not work.
  • Wrong filename on warehouse uploads.
  • MissionStats: title missing
  • /airbase ... commands did not work in public channels, if only one server was present
  • /vote ... commands did not work in public channels, if only one server was present
  • /airbase info ephemeral didn't work

DCSServerBot Release 3.0.4.17

15 Dec 10:42

Choose a tag to compare

Enhancements

  • 💯 Mission: new commands /airbase info, /airbase atis, /airbase warehouse and /airbase capture
  • 💯 Mission: option to download and upload warehouse inventories via Excel
  • server.yaml: new parameter show_atis. If true an ATIS display will be sent to people that jump in slots.
  • Scheduler: countdown added
  • Voting: new discord commands added /vote create, /vote list and /vote cancel

Changes

  • ⚠️ Renamed /mission atis to /airbase atis
  • /airbase atis can now work with carriers and FARPs also
  • Removed Side.SPECTATOR in favor of Side.NEUTRAL
  • Profiler: disables max_hung_minutes now when enabled
  • Punishment: updated all messages to ASCII layout
  • BackupService: can backup subdirectories only now.
  • ⚠️ Scheduler: warn/text renamed to warn/message (auto-migration)

Bugfixes

  • /mission modify did accidentally load the original mission (without modifications)
  • Error in /server config if stop question was sent.
  • Scheduler: index error in mission rotate
  • Maintenance flag was not read correctly on startup.
  • Mission: Key errors in ban messages
  • Potential race condition during cluster table initialization.

DCSServerBot Release 3.0.4.16

05 Dec 16:03

Choose a tag to compare

Had to push a small fix as some people are not able to ping google DNS for the internet check.
Whoever needs an internet check on startup, please use the new -p switch to run.cmd:

run.cmd -p

Changes

  • Make internet connection optional with -p switch to run.cmd

DCSServerBot Release 3.0.4.15

05 Dec 15:43

Choose a tag to compare

Changes

  • /server password can now change passwords on a running server (next restart will apply)
  • The bot checks if there is a valid internet connection first on startup.
  • Refactored mission loading
  • Refactored mission id initialization
  • Commands: can be ephemeral now

Bugfixes

  • /node offline did not work anymore for multiple nodes (hotfixed)
  • ModManager: key violation on root folder mods
  • Scheduler: /timeleft and server status embed did not show the correct time for the new "times" setting
  • Filtering of kill events if punishment is enabled did not work
  • Scheduler: load later did not work properly anymore
  • /node add_instance race condition with new foreign keys

DCSServerBot Release 3.0.4.14

02 Dec 15:55

Choose a tag to compare

Enhancements

  • 🆕 Scheduler: can now handle presets on startup and action
  • 🆕 Scheduler: can now work with cron strings for very flexible action times
  • 🆕 New (auto-)restore feature to restore a formerly backed-up database, bot configuration or server instance.
  • 🆕 New plugin "Profiler" adds a LUA profiler (WIP!)
  • [internal] Ports have a tag if they are UDP or TCP (or both) now
  • /doc command shows tcp/udp notation in server documentation
  • /doc new node sheet added to server documentation
  • 💯 /doc can generate firewall rules now
  • Competitive: TrueSkill is historized now.
  • Competitive: /trueskill history added
  • Competitive: /trueskill regenerate added
  • 💯 CreditSystem: Players can have badges now (WIP)

Changes

  • 💯 Python 3.14 works now. Really..
  • We can work with the latest PIP again also.
  • ⚠️ Scheduler: "local_times" and "utc_times" migrated to "times" (auto-migration)
  • ❗ Do no longer send teamkill messages to the admin-channel if the punishment plugin is active.
  • Statistics: New periods 'quarter' and 'halfyear'
  • Players embed is sorted by player name now
  • "usage" added to mv_statistics
  • several performance improvements on statistics queries (e.g. REST API)
  • Added more IP lookup services for reliability
  • Cron Service supports timezones now
  • Cron Service: reboot and halt can reset maintenance flags now
  • MizEdit: can work with timezones now
  • Better display on /broadcast
  • Scheduler: /server startup does 3 tries now on crashed servers.
  • /nemesis and /antagonist can have periods now.
  • SRS: added instructor mode
  • Profanity filter for nicknames has a whitelist now.
  • Massive DB change, all major tables have foreign keys now. Prune / cleanup scripts reduced.
  • Some code cleanups

Bugfixes

  • Mission upload did not work on mission directories with more than 25 subdirectories (hotfixed)
  • /node delete_instance did not work if ModManager was not in use (hotfixed)
  • Rare hangup if a DCS server starts non-responsive
  • LotAtc: port check for json server port showed wrong message
  • Punishment: reslot timer was not reset properly on landing
  • Competitive: Non-global matches were not finished properly.
  • Punishment: SQL error when no flighttimes were logged yet
  • SRS: LotAtc Export Port was checked, even if LotAtc was not active
  • /server restart did not proper check for timeouts
  • Monitoring: warning was still sent even if alarm pct was reached.
  • /server start timeout missing (hotfixed)
  • Mission replacements of the last mission in the list did set the listStartIndex wrong.

⚠️ For users that update to this version:
On the first run (only), DCSSB will do some database maintenance. This includes the heavy tables (statistics, missionstats) and it can run quite a while, if you have a large database. I have seen 20 minutes already on a huge server. It can run pretty fast also, so do not worry. You will not get around it anyway. But please plan your bot upgrade to a time, when that would not be an issue for you.

DCSServerBot Release 3.0.4.13

30 Oct 20:33

Choose a tag to compare

Let's hope, 13 is no unlucky number...

Changes

  • More robust handling of clusterdb.pkl on database password changes.
  • Changed all samples from DCS.release_server to DCS.dcs_serverrelease
  • Clearer exceptions in schema validation if base files like nodes.yaml or servers.yaml are unparseable
  • RealWeather: ignore_errors added to let other extensions run if RW errors out.
  • RealWeather: removed ANSI colored text on error messages
  • Install: save the master postgres password to .secret because people tend to forget it 😉
  • Competitive: Calculate TrueSkill values in the background on Competitive installation.

Bugfixes

  • Music starts with unpaused servers now.
  • SRS did not close the SRS-Server exe on updates.
  • /node list can fail with an error if uninitialized nodes are there
  • Discord bot, occasional exception on master switches
  • Install: did not consider alternate config dirs for database passwords.
  • Removed 2 potential race conditions on first install
  • Missionstats: embed did not update the lower part anymore
  • SkyEye: configuration parameters were not taken from nodes.yaml in some cases.
  • missed to add the mv_statistics view on new installs

DCSServerBot Release 3.0.4.12

27 Oct 16:47

Choose a tag to compare

Please be aware, autoupdate can cause issues due the the necessary change of the cmd files.
If your bots die during the update, just restart them and all should be good.

Enhancements

  • Python 3.14 compatibility added

Changes:

  • 💯 install: can rename nodes now. Just run install.cmd -n <nodename> to rename any existing node to <nodename>.
  • Userstats: new field tail_no in statistics table
  • Userstats: new materialized view mv_statistics for performance queries
  • SRS: use_upnp was not used before
  • Removed pyarrow because of a Windows 10 issue with the latest version
  • ⚠️ Locked pip to version 25.2, because 25.3 causes issues.

Bugfixes:

  • Admin: restrict_commands was not used in uploads
  • Music: music not playing for some users

DCSServerBot Release 3.0.4.11

23 Oct 16:30

Choose a tag to compare

Note

DCS now supports coalition locking natively. I decided to amend my own solution to mainly use the DCS solution by now, as it has
some advantages. But it comes with a change. With the bot, you could have a cooldown period, a time in which people could not join
the opposite coalition whenever they left their coalition. The ED system now lets you define a lock time which locks you to the
selected coalition. Whenever that lock time has passed, you are good to switch. You can read more about it here.

Important

Please be aware, that DCSSB does not support Python 3.14 yet. This is due to some 3rd party libraries that were not ported yet,
which is out of my control.

Warning

As I had to amend the cmd files that run the bot because of that, it might be that you face issues during the autoupdate this time.
It might be that your bots stop and ask for a keypress. Just restart your bots manually in such a case and you are good to go again.

Enhancements

  • 🆕 servers.yaml: new setting managed_by to set specific roles that can manage a server exclusively.
  • servers.yaml: dedicated audit channel added for servers (optional)
  • 🆕 New command /dcs repair (needs UAC disabled)
  • Added dcs_repair to the cron service
  • 🆕 Tacview: new commands /tacview record_start, /tacview record_stop to create temporary recordings.
  • MSE: dcsbot.isExtensionEnabled() and dcsbot.getExtensions() added.
  • CreditSystem: /credits reset added
  • SRS: /srs repair added
  • Tacview: /tacview update, /tacview repair added
  • New parameters restrict_commands and restrict_owner in nodes.yaml to disable specific elevated commands for hosting situations.
  • Multi-Node: New setting no_master for agent nodes that are not supposed to take over the master node.

Changes

  • 💯 New coalition system based on EDs coalition handling
  • LUA: DCS.* changed to Sim.*
  • Added a warning on startup if UAC is enabled.
  • Extensions can be renamed now
  • Multi-Node: New structure "cluster" in nodes.yaml to take all the cluster parameters (auto migrated)
  • Disabled several commands (see "restrict_commands" above), up- and downloads.
  • /mission manage now modifies the mission when selected.
  • GameMaster: audit messages added for /do_script and /do_script_file
  • /node offline shuts down nodes concurrently now
  • Improved RPC-caching
  • Default options.lua now has autologin enabled.

Bugfixes

  • /node delete_instance failed, when no server was assigned to the instance.
  • /info missing unlink button for unverified accounts
  • Fixed some small race conditions in lua code.
  • Lua errors in serverSettings.lua of one node should not crash the whole bot
  • Another Datetime error in MizFile
  • WebService did not switch nodes properly on Master switches.
  • /doc <server> was missing the webgui port
  • /dcs update, did not use the default branch for autocompletion of versions
  • SRS: picture in update embed fixed
  • Tacview: tacviewRealtimeTelemetryEnabled was not enabled correctly (if disabled earlier)
  • MizEdit: initialization of presets could fail on already started servers
  • Removed a race condition with mission list management.
  • /sorties did not work with period "All"
  • WebService: terminated the whole bot if the webservice port was blocked
  • Commands: server parameter did cause errors on single-server installations (hotfixed)
  • Competitive: AI caused exceptions on BIRTH
  • Leaderboard: Only display the actual running campaign credits
  • /squadron delete did not work correctly