Description
After a system update or snapper rollback, some Unity / Battle.net games may fail to connect to servers.
This has been observed primarily on openSUSE Tumbleweed.
The failure is most likely caused by an incompatible Mono TLS provider after system changes, rather than missing certificates.
Symptoms
Game launches normally but cannot connect to Battle.net servers.
Check the log:
~/.config/unity3d/Blizzard Entertainment/Hearthstone/Player.log
Typical errors:
Curl error 35: Cert handshake failed
UnityTls error code: 7
Chain instance is empty
Curl error 42: Callback aborted
When This Happens
Common triggers:
- System upgrade (
zypper dup)
snapper rollback
- Restoring an old snapshot
- OpenSSL / libcurl / Mono upgrade
- Rolling-release distribution updates
Root Cause (Most Likely)
The default Mono TLS provider becomes incompatible with the updated system libraries.
In rolling distributions, system components may change faster than the runtime environment.
Result:
TLS handshake fails even though certificates exist
Quick Fix (Try This First)
export MONO_TLS_PROVIDER=btls
./Bin/Hearthstone
If the game connects successfully after this change, the issue is confirmed.
Why This Works
btls uses an internal TLS implementation bundled with Mono.
It does not rely on the system OpenSSL stack.
This avoids compatibility problems after system upgrades or rollback.
If That Does Not Work
Try synchronizing the Mono certificate store.
sudo TERM=vt100 cert-sync /etc/ssl/ca-bundle.pem
This fixes cases where the Mono trust store is missing or out of sync.
Recommended Launch Script
#!/bin/bash
# Clear proxy variables
unset http_proxy https_proxy all_proxy
unset HTTP_PROXY HTTPS_PROXY ALL_PROXY
export no_proxy="*"
# Explicit certificate paths
export SSL_CERT_FILE=/etc/ssl/ca-bundle.pem
export SSL_CERT_DIR=/etc/ssl/certs
# Force modern TLS provider
export MONO_TLS_PROVIDER=btls
./Bin/Hearthstone
Verification
Run:
MONO_TLS_PROVIDER=btls mono --version
Expected output includes:
One-Line Summary
export MONO_TLS_PROVIDER=btls
Notes
- This issue is environment-specific.
- It may not affect all Linux distributions.
- Rolling-release systems are more likely to encounter it.
Description
After a system update or
snapper rollback, some Unity / Battle.net games may fail to connect to servers.This has been observed primarily on openSUSE Tumbleweed.
The failure is most likely caused by an incompatible Mono TLS provider after system changes, rather than missing certificates.
Symptoms
Game launches normally but cannot connect to Battle.net servers.
Check the log:
~/.config/unity3d/Blizzard Entertainment/Hearthstone/Player.logTypical errors:
When This Happens
Common triggers:
zypper dup)snapper rollbackRoot Cause (Most Likely)
The default Mono TLS provider becomes incompatible with the updated system libraries.
In rolling distributions, system components may change faster than the runtime environment.
Result:
Quick Fix (Try This First)
export MONO_TLS_PROVIDER=btls ./Bin/HearthstoneIf the game connects successfully after this change, the issue is confirmed.
Why This Works
btlsuses an internal TLS implementation bundled with Mono.It does not rely on the system OpenSSL stack.
This avoids compatibility problems after system upgrades or rollback.
If That Does Not Work
Try synchronizing the Mono certificate store.
This fixes cases where the Mono trust store is missing or out of sync.
Recommended Launch Script
Verification
Run:
Expected output includes:
One-Line Summary
export MONO_TLS_PROVIDER=btlsNotes