MVirus – server asset loader

7 days to die mvirus server asset loader

Description:

MVirus downloads models and textures from the server and loads them into the game. It helps server owners install mods without requiring players to download them manually after every single change.
The mod should be installed on both the client and server sides to function properly.
The mod is in alpha state. You can report a bug or request a feature on the github page.

Compatibility:

  • Models, textures and sounds from “*.unity3d” files work
  • Custom UI icons for items work too.
  • POI mods are supported
  • The mod downloads files from a dedicated server only. This will be changed in the next release
  • EAC isn’t supported.
  • Tested on v1.2 (b27) Linux and Windows. The minimal supported version is unknown

Server notes:

The mod starts an HTTP server on the 24000 port. The port should be opened. You can change the port in config.xml.
You can use an external HTTP(S) server or CDN. Check the “ExternalHTTPServerAddr” parameter in config.xml

Changes since v0.2.1:

Features:

  • Added compression for remote files.
  • The “ActiveCompression” option enables gzip compression on a fly for the internal HTTP server.
  • The “StaticCompression” option precompresses files and saves them to cache. Can be used with the gzip_static setting on nginx.
  • Added the “CacheAllRemoteFiles” setting. Disabling the setting will save disk space.
  • Added a new file transfer protocol that reuses client-server connections. The protocol is experimental and unpolished. It will be used for a local server when HTTP is unavialable.

Fixes:

  • Content scanner scans all folders except “Configs” for “*.unity3d” files now.

DOWNLOAD MVirus v0.3.0 (34 KB)
DOWNLOAD All releases on GitHub

If you like the mod and want to support the development, you can sponsor me with crypto. Thank you!

Credits: TheNormalnij

Share this with your friends:
Subscribe
Notify of
guest

If you have any questions or have any problems/bugs, please use the support link (Discord, Forum Topic, GitHub Issues, etc.) in the post. If there is no support link in the post, please use the comments section.

25 Comments
Inline Feedbacks
View all comments
DOOMGUY
DOOMGUY
January 7, 2025 2:38 pm

If I start a game with mods, does my friend need to manually install mods or what?I just don’t really understand how it works.

TheNormalnij
TheNormalnij
January 9, 2025 2:53 pm
Reply to  DOOMGUY

The mod works with a dedicated server only at this point. The server starts a game with mods, and players only need this mod to load mods from the server. The mod doesn’t touch your local mods, so server mods don’t affect your local game.
The next major release will support local hosts when you start a game locally and invite your steam friends

zombinator
zombinator
January 11, 2025 2:06 am
Reply to  TheNormalnij

Ohhh, I would LOVE that, my friends have been very sick and tired of me with always adding new mods to our games. That major update would be AWESOME!

Pock74Th3Win
Pock74Th3Win
December 31, 2024 6:02 am

This mod works great on my dedicated server but it breaks LAN games for my wife and I. I have to remove the mod when we do not want to play on the dedicated server.

Also how does it cache the mods from the server? I noticed its cache folder is missing some mods that I have on the server.

Pock74Th3Win
Pock74Th3Win
January 2, 2025 7:16 pm
Reply to  Pock74Th3Win

Anyway to add “Asset” and “Config” folders to it? I noticed that some POI packs include assets and break when its missing. seems like the tool is only pushing the prefabs to the clients and not the necessary assets.

TheNormalnij
TheNormalnij
January 7, 2025 10:21 am
Reply to  Pock74Th3Win

Some mod developers use different folders for .unity3d files instead of using the “Resources” folder. This will be fixed soon. The mod breaks LAN game because it adds new packets to the game protocol. This will be fixed too. You can install the mod on both PC’s as a workaround.

Pock74Th3Win
Pock74Th3Win
January 10, 2025 4:24 pm
Reply to  TheNormalnij

Sounds good. I just spin up another instance on the server right now when we want to play privately. Any tips or advice on setting up a remote file server (any recommended host)? I have about a 6gb mod folder, and it takes a long time for new clients to sync because my home ISP limits my upload speed ridiculously.

TheNormalnij
TheNormalnij
January 12, 2025 1:27 pm
Reply to  Pock74Th3Win

I’d like to use nginx with the gzip_static module. The minimal configuration is easy enough, but you will need a domain and HTTPS in the future. Use rsync to upload files from the “HttpServerFiles” folder to your server.
Some hostings offer webhosting services where you can upload any files for your site via FTP, but you don’t have access to the server console via ssh. It’s the cheapest solution for a hobby project. I saw options with unlimited traffic. It may work if you manage to write a PHP script to return your files.
Professional CDN’s have high prices for big files. Minimal price is $0.04/GB and it’s $7.68 for 32 downloads in your case.
I recommend using VPS solutions. They give you more control and may be useful in different cases. Personally, I get my VPS with a one-time purchase and use it for VPN, small sites, and tests.

Pock74Th3Win
Pock74Th3Win
January 13, 2025 2:12 pm
Reply to  TheNormalnij

Been looking at VPS’s, Any you recommend was thinking about going SSD Nodes or RackNerds.

TheNormalnij
TheNormalnij
January 14, 2025 3:25 pm
Reply to  Pock74Th3Win

SSD Nodes offers look interesting if you are ok with 4TB traffic.
RackNerds gives less traffic per month, and I don’t see conditions after all traffic is used up.
You can also check vdsina for a 32TB/10Gbit server in the Netherlands.

Orakel
Orakel
December 22, 2024 12:39 pm

testet it now, but the server is not sending missing mods.

TheNormalnij
TheNormalnij
December 22, 2024 3:36 pm
Reply to  Orakel

The bug was fixed in v0.2.1.
If you have the problem, create an issue on GitHub and attach your client and server logs, please.

Orakel
Orakel
December 23, 2024 2:13 am
Reply to  TheNormalnij

ok i saw now in the modinfo its v 0.0.1 but the link text says MVirus v0.2.1 (22 KB)

Orakel
Orakel
December 23, 2024 2:37 am
Reply to  TheNormalnij

It works now, thank you very muc for this mod

Orakel
Orakel
December 22, 2024 12:00 pm

“downloads models and textures from the server”
Does it also download mods?

TheNormalnij
TheNormalnij
December 22, 2024 3:39 pm
Reply to  Orakel

Yep

McTaco
McTaco
December 17, 2024 4:54 am

Also, prefabs, would be great, basically anything in the mod folder.

TheNormalnij
TheNormalnij
December 22, 2024 3:40 pm
Reply to  McTaco

Thanks you!
Added in v0.2.0

McTaco
McTaco
December 16, 2024 11:16 pm

what about dll mods that need to be on both client/server. for example, Alter Shared Reading requires the client have the DLL so that shared reading point shares correctly between the clients.

I see your mod source iterates through Resources folder and UIAtlases.

Can you test with DLL Mod?

TheNormalnij
TheNormalnij
December 17, 2024 3:20 am
Reply to  McTaco

Hi! Thanks you for your interest.

Dll support isn’t planned due low safety. C# mods aren’t sandboxed and have high risk potential to users.
Serverside dll can contain malware that steals user data or causes permanent damage to PC.

I would prefer to adding Lua scripting support in the future.

KitG
KitG
December 25, 2024 4:33 pm
Reply to  TheNormalnij

I very much respect this answer!

McTaco
McTaco
December 16, 2024 11:00 pm

revolutionary bro

Robert j Borowczyk
Robert j Borowczyk
December 16, 2024 10:21 pm

what does the mod do

McTaco
McTaco
December 17, 2024 12:05 am

make all mods server side only, clients only need this mod

TheNormalnij
TheNormalnij
December 17, 2024 3:43 am

It’s a QoL mod for modded servers.

The serverside part scans the Mods folder and prepare models and textures to be send to players.
The clienside part downloads asset when you connect to the server and loads them into the game.

Benefits:
* A player dosen’t need to manually download mods and install them.
* A server owner can provide updates without resending all mods.