> - Put an expiration date on the storefront and make it clear that your software is not guaranteed to continue working after date X.
This software is not guaranteed beyond 0 Unix time.
> - Have your server source code (stripped down of proprietary stuff) ready for public release at EoL.
This isn't viable, and i would expect anyone on this site to understand that. it's roughly equivalent to saying "just make facebook stripped of proprietary code and ready for the public to run"
> - Allow customers to reverse engineer the binaries and communication protocol after EoL.
This is a reasonable path forward, but likely a non-starter in the US for political reasons. I understand that "stop killing games" is an EU thing.
> - Package dedicated server binaries with the game and allow customers to connect to it via a LAN or direct IP option.