Author Topic: Addon system similar to Apt, Yum, or Chocolatey  (Read 1234 times)

It's simple: From the console, you can simply type "connect("REPONAME");".

After that, you type in an addon name, such as "System_BlocklandGlass."

You then type "install("System_BlocklandGlass");"

You then go on with your day unabashed.

You can also update with update("name") and remove with rm("name").

this would be very useful for self-hosted dedicated servers

this would be very useful for self-hosted dedicated servers

like me

adding addons isn't particularly hard but removing datablocks while the server is active is impossible as far as i know, at least without a dll

ill summarize the steps later

[...] removing datablocks while the server is active is impossible as far as i know, at least without a dll

One basically needs to notify the clients to invalidate and remove the datablock and then remove it on the server. I would recommend the approach of Unity: Layers of loading, and then remove layers and reload them on top of the other.

adding addons isn't particularly hard but removing datablocks while the server is active is impossible as far as i know, at least without a dll

ill summarize the steps later


One basically needs to notify the clients to invalidate and remove the datablock and then remove it on the server. I would recommend the approach of Unity: Layers of loading, and then remove layers and reload them on top of the other.

Then just implement a check for if the server's running or not with the commands.  If a server's running, then stop the commands before they happen.  If a server isn't running, then let the commands happen.

The biggest change would be to add a way to remove functions, as you're disabling Add-Ons. There's several problems with this, though:
  • The game have no clue what function is for what Add-On, leaving them in the open.
  • Other Add-Ons don't know that an Add-On was removed, thus their check when starting the game is wasted, even though those Add-Ons should be removed as well.

Basically, we're making a new game engine by adding this single addition.

Edit: But on topic: Making this Unix-like system actually already exists, sort of. First we got the Updater to download the required files. This is although restricted to that you already got the Add-Ons. Then we got the internal system to load an Add-On. It's quite crude, but it's workable.

Actually, I have my LoadAddon, but it was failed on this forum as it screwed up Badspots new content download system. It worked perfectly fine, though.
« Last Edit: June 09, 2017, 07:01:28 AM by mctwist »

-snip-

I sort of imagine that you could use the same methods addon managers like BlocklandGlass does for downloading addons and removing/disabling them.  If anything, removing could be done through using Torque's file handling and downloading could be done somehow involving Greek's Support_TCP.

Even if you get over these technical obstructions, that doesn't solve the need for an addon hosting solution to make something central or standardized, or to make an "official" repository.