I just tried to build from GIT and received the message...
INFO: Mono version: 4.8.0 | Required: 5.1.0+
But 5.1 doesn't exist yet, at least not as mainstream. The official Mono website itself only states:
The latest Mono release is: 4.8 Service Release 1 (4.8.0.524)
Is this in preparation for a new Mono version? If so, should building from GIT be avoided for now? (as I can't imagine Mono 5.1 being available to most users). The Debian repos mentioned in the Wiki also only go up to 4.8 (I'm running Arch so that's not really relevant to me, but seemed worth mentioning).
AFAIK you need a new version to compile, but not to execute (can't tell you which version, cause i'm not into mono stuff). See: https://github.com/JustArchi/ArchiSteamFarm/pull/501#issuecomment-291868562
As @Logerfo pointed out above, ASF is now using C# 7.0 syntax, which Mono 4.8 (mcs) does not support when compiling the code. You need 4.9 or later (in fact, I'll correct it to 4.9.0+ and not 5.1.0+, but it won't help with your 4.8 anyway). This is not equal to Mono version required to run ASF, as that one is still set on version 4.6 and it doesn't look like I'll need to bump it anytime soon, but if I will, that bump will never go above latest stable.
Solutions are easy - you can either use already pre-compiled binary (stable, pre-release, or AppVeyor latest), or update your Mono to latest weekly/nightly which is already in version 5.1.0+. Pre-compiled ASF binary is compatible with both Windows and Mono, and all releases are compiled by AppVeyor, so you can be sure that they're compiled from original source.
Unless you're adding your own changes to ASF, then indeed you need to update your Mono, or revert C# 7.0 changes and maintain your fork yourself.
(Also, for future reference, refer to Travis that is compiling and testing ASF on Mono. This way you can quickly see what is current status of Mono in ASF.)
Ok, I built Mono from GIT (which took... a while) and that resulted in 5.3.0. ASF then compiled fine, but wouldn't run (threw a lot of messages about decryption failing). I then switched back to 4.8 (but didn't rebuild) and it then ran successfully. Just for reference.
I'll probably have to stick to binaries going forward if I need to update (or simply wait for Mono 5 to go stable).
Like I said, already compiled binary can be run with any Mono 4.6+, but for compilation you need 4.9+. Your SSL issues are probably connected with BTLS and the fact that your cert-store is not synced (nothing to do with ASF).
I'll probably have to stick to binaries going forward if I need to update (or simply wait for Mono 5 to go stable).
Actually no, Mono is now using roslyn compiler (and not mcs like in Mono 4.8 and before), which is the same compiler that is being used on Windows, so compilation-wise it will not be required to bump Mono past version 5.0+ (unless there will be new C# syntax version, but in this case Mono should get it immediately, and it should be available before Windows adopts it).
Runtime-wise, Mono must support .NET framework version ASF is currently targetting, and that one is required to be supported by latest stable version of Mono, as otherwise I'd need to expect from my users to run weekly/nightly Mono version, and that is definitely out.
We're just coincidentally in very bad moment when Mono is changing from mcs compiler (Mono 4.8-) to roslyn compiler (Mono 4.9+), and because C# 7.0 syntax does not affect runtime but only compilation, I decided to use it right away because it improves ASF code quality and does not affect released binaries.
So running ASF binary must be always possible with latest stable Mono available the moment given ASF release is available.
Compiling ASF might require tools that are not marked as latest stable yet, but they're planned to be stable pretty soon. This is because ASF code is more important than compatibility with older compilers.
For those (like me) who build from source but can't or don't want to update Mono just yet, 2.3.0.8 is the last version which is buildable with 4.6.