Hmm, sorry ich verstehe eure Probleme nicht, Datenbank Auth in der Exe? Wie bitte? Auf dem Server gibt es eine Repository bzw. Meta Daten zum Abholen, wie es jeder Paket Manager auch macht, dafür braucht es einen http Request und auf dem Server eine Software um die Metadaten zu erstellen, wenn man es nicht händisch macht.
Eine eindeutige ID (vom Ersteller festgelegt) + Versionsnummer reicht in fast allen Lebenslagen aus. Wer sich nicht dran hält und fremde IDs nutzt fliegt vom Server.
Das hat seit TTDPatch Zeiten funktioniert. (GRFID)
Mein CIM1 ModManager hat das alles in GS(CIM) Script gemacht (außer die Datei herunterzuladen und funktioniert auf Win32/OSX/Linux):
http://cim.bytetransfer.de/mod…/specs/mmfileformats.html
Hierbei war ein dezentrales System, mit mehrere Quellen im Vordergrund - sogar das Hosting auf einer DropBox Quelle war dadurch möglich.
Für meine eigenen Mods, hat ein PHP Script die .modinfos zusammen geklebt und die Repo Datei erstellt.
.edit-
Zusammengefasst:
Ein Mod/Addon Paket (Zip) bekommt vom Ersteller eine eindeutige ID, und eine Versionsnummer, dies liegt dem Paket bei.
Es gibt ein Update für ein lokales Paket, wenn die Paketquelle eine neue Datei mit der selben ID aber einer größeren Versionsnummer bereitstellt.
Ein Update deinstalliert Paket/ID mit alter Version, installiert die neue Version.
Eine neue Version darf sich nicht so ändern das ein Spielstand unbrauchbar wird, sonst muss es eine neue ModID erhalten.
PS: Die Board Download ID ist nicht unbedingt statisch, da Sie im Einfluss der Board Software liegt und mit einem Update, Server Umzug oder ähnliches theoretisch anders sein kann.