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
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.
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.
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
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!
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.
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.
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.
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.
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.
Been looking at VPS’s, Any you recommend was thinking about going SSD Nodes or RackNerds.
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.
testet it now, but the server is not sending missing mods.
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.
ok i saw now in the modinfo its v 0.0.1 but the link text says MVirus v0.2.1 (22 KB)
It works now, thank you very muc for this mod
“downloads models and textures from the server”
Does it also download mods?
Yep
Also, prefabs, would be great, basically anything in the mod folder.
Thanks you!
Added in v0.2.0
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?
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.
I very much respect this answer!
revolutionary bro
what does the mod do
make all mods server side only, clients only need this mod
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.