This is a small bugfix patch, basically “Alpha 8c”. However, because these changes are not multiplayer-compatible with Alpha 8, they’re being released as Alpha 9.
Patch contents
- Balance changes: very low
- Bugfixes: low
- Enhancements: low
As a reminder, if you just want a summary of the important stuff you can check the patch notes in the launcher or on Steam.
TECHNICAL CHANGES
CBP Launcher and Rules.xml Editor Plugin license change
- CBP Launcher’s license has changed from the Mozilla Public License 2.0 (MPL 2.0) to the European Union Public License v1.2 (EUPL 1.2).
- CBP Rules.xml Editor Plugin’s license has changed from the GNU Public License v3 (GPLv3) to the European Union Public License v1.2 (EUPL 1.2).
For users: this will change nothing about how you use CBP, CBP Launcher, or any first or third party plugins.
For developers: I’ve provided some more information about this change at the bottom of this post.
BUGFIXES, ENHANCEMENTS, AND MISC CHANGES
Changes which affect multiplayer gameplay balance are marked with (!)
RoN Bugfixes
- (!) Anti-Aircraft Missile (VIII) attack recharge 30 -> 25 (CBP Alpha 1 already changed this from 35 to 30). Without this change it has lower DPS than the Anti-Aircraft Battery (VII).1
- Fixed some minor graphical quirks on the city_6_snow sprite.
- Manually reconstructed some missing pixels on a couple of Major City sprites.
EE Bugfixes
- The color panels on Major Cities have been fixed. They are completely broken in unpatched EE (they’re just gray regardless of your color), despite working fine in T&P.
I’ve written some technical documentation on the various city graphical fixes mentioned above so that the exact nature of the changes is publicly available.
CBP Bugfixes
- (!) Spanish Tercios’ (IV) documented base cost changes from Alpha 1 (60/40 -> 50/40) were not actually implemented – they now are.
- (!) Persian Arquebus Immortals’ (IV) documented base cost changes from Alpha 1 (60/40 -> 50/40) were not actually implemented – they now are.
Enhancements
- CBP Launcher’s RoN-reinstall detection now automatically re-enables itself 72 hours after RoN:EE is reinstalled if the user has previously interacted with the associated message prompt.
- CBP Launcher will now check if the CBP pre-release folder exists before completing the switch from normal to pre-release files. If no pre-release files are detected it’ll tell you it’s missing and not actually flip the switch.
- CBP Launcher’s plugin system is now disabled by default, rather than enabled by default — this can still be changed easily from the Options tab as desired.2
Misc
- (!) To maintain a more appropriate cost ramp from Ages I-IV in light of the CBP bugfixes, the cost of Athanatoi (III) has been reduced from 60/40 to 50/40. Persian HI cost from I–>IV now goes 50/30, 50/40, 50/40, 50/50.
- Portugese (CtW) Bandeirantes (IV) somewhat inherit appropriate changes made to Age IV HI more generally. Base cost 70/30 -> 60/30. Damage modifier vs Supply Wagons 100% -> 108%. Elite Bandeirantes (V) are not affected.
- The Alpha 8 patch notes originally incorrectly stated that the maximum number of logs was 100. The default value is actually 30, and all versions of the patch notes have been updated to reflect this difference.
- roncbp.com now exists per HnZ’s request. This allows for easier link usage in RoN’s chat.
- roncbp.com/patch redirects to the Steam Workshop page.
- roncbp.com/guide redirects to the installation guide.
- roncbp.com/changes redirects to the List of Changes spreadsheet.
- roncbp.com/discord redirects to the unofficial RoN Discord.
- roncbp.com/howtoicon explains how to use #ICONs in chat.
- roncbp.com/pr redirects to the pre-release Workshop page.
MORE LICENSE STUFF
As a precursor, MPL 2.0 is a weak copyleft license, whereas GPLv3 is a strong (and “viral”) copyleft license (although without SaaS provisions, i.e. AGPLv3). EUPL is largely similar to a slightly weaker and non-viral AGPLv3.
If you’re not familiar with what this means, TLDRLegal’s page on the MPL is one of many places to get a decent overview of some licensing terms. Note that their page for the EUPL is both outdated and slightly under-explained, so I don’t recommend using it for that license.
Summary of important differences of MPL vs EUPL (NOT LEGAL ADVICE):
- EUPL has official translations into 22/23 languages, all of which have identical legal meaning. I consider this to be an exceptionally valuable advantage of the license for a project that aims for international development, and it’s the primary reason I chose to switch CBP Launcher’s license.
- MPL’s copyleft is file-level, whereas EUPL’s copyleft is project-level. This barely matters for CBP Launcher because its current design is not very modular at the file level.
- Legal jurisdiction for the EUPL is in the EU, whereas MPL is based on where you are.
- EUPL can explicitly cover data/documentation as well, not just code.
- EUPL requires a clear statement about if changes are made to the software. According to the JLA (linked below) the MPL includes something similar but I’ve read the MPL and don’t see that in it so I’m treating it as a difference.
Summary of less-important differences of MPL vs EUPL (NOT LEGAL ADVICE):
- EUPL’s legal language is somewhat EU-centric, compared to many software licenses which are somewhat US-centric. This generally probably doesn’t matter too much if it comes to a court case though. For example, a US-centric license will still generally be subject to EU legal provisions even if it doesn’t make reference to them. Reminder: if you need legal advice, don’t get it from a game’s unofficial patch’s patch notes.
- EUPL covers network (SaaS) usage, although this shouldn’t really matter for CBP.
- EUPL maintains a degree of liability if the developer is intentionally malicious or inflicts bodily harm. I’m not being intentionally malicious and imagine it would be exceptionally difficult to physically hurt you with CBP Launcher so this scares me slightly but ultimately shouldn’t matter. Most other licenses basically say “absolutely no liability at all, in any circumstance, unless required by law”, including the MPL.
- EUPL has explicit license-compatibility provisions with a number of other licenses including both the MPL 2.0 and GPLv3.
- EUPL has no patent retaliation clause; the EU seems to be under the impression that such a clause is less important in the EU. I requested legal clarification on this and have been told an EU legal expert will followup with me – I’ll update this post if I receive new information.
- EUPL is not heavily associated with Richard Stallman, who I would prefer to keep at arm’s length where feasible.
CBP REP’s license was switched over to the EUPL to reduce the number of licenses used in the larger CBP development environment i.e just the MPL and EUPL instead of also having to worry about the GPL/AGPL. GPL was picked out specifically for the goal of protecting the more-modular CBP REP from what one might describe as “abuse by freeloaders” which the weaker MPL may not have been sufficient for. EUPL’s copyleft provisions are weaker than the GPL’s, but they’re stronger than the MPL’s and remain subjectively adequate for the aforementioned goal.
(And just to be clear, the license change has nothing to do with the current political situation — I worked on it a couple of weeks ago, which is how I’m able to summarise legalese with adequate proficiency)
Further resources re: the license change:
- EUPL 1.2 text (all supported languages)
- MPL 2.0 text (English)
- Choose a License: overview of common/recommended licenses
- Choose a License: EUPL 1.2
- European Commission: Joinup Licensing Assistant
- JLA: MIT, Apache 2.0, MPL 2.0, EUPL 1.2, GPL 3.0
Quick extra notes for potential future contributors: for CBP localisation, I suggest prioritising the six languages of the United nations, which are:
- Arabic (Modern Standard Arabic)
- Chinese (Mandarin using simplified characters)
- English (which we obviously already have)
- French
- Russian
- Spanish
With the additional note that there are an unusually high number of Latin American players, so Portuguese may be worth adding to the list.
Arabic may also present some challenges because of how unique it is (not to mention it’s not natively supported by RoN itself, and I’m not really sure what Arabic-speaking players are doing to work around that).
After those are done, the remaining “supported” languages for CBP can be done, which are German, Italian, Japanese, and Korean.
Currently CBP Launcher and CBP Setup GUI’s exes are not signed in any way. This isn’t too big of a deal, but having less security warnings / popups would be preferable to smooth out the user experience (and make a few people less scared on first-time-install).
In the past, Certum offered free code signing certificates for open source developers, but in more recent years this was changed. I recently discovered that SignPath currently offers free code signing for open source developers so long as you integrate their product/service.
However it’s also worth noting that code signing has been of increasingly reduced value over time, and you really need an EV cert to get a good level of “trust” on your distributed executables these days (but they’re fucking expensive if you’re not a corporation). Still, it might be worth at least checking out the SignPath code-signing option if you want incrementally better “trust” on CBP exes.
- In CBP Alpha 1, the Anti-Aircraft Missile (VIII) had its attack recharge lowered from 35 to 30 and this was classified primarily as a balance change, but with the understanding that the original unit values were likely a bug. More extensive testing* has provided enough evidence to confidently classify the unit as “bugged” not just “weak”, and so this set of changes is now formally flagged as a “bugfix” not a “balance change”.* I was really hoping someone else would bother doing this, but a year later nobody has, so I decided to just do it myself.
- The rationale for this change is that most CBP users are not using the plugins, but are affected by the slight slowdown which loading the plugin system can introduce. This won’t affect existing CBP installs, but new users (and people resetting their CBP Launcher settings) will experience the new default setting.