With fake, I just meant a dummy package that has all classes, functions & variables, but doesn't depend on the native code so the maps can run with it, the file can be redirected and the players can join, at the cost of the mp3 functionality. Such is what we currently have on the servers.
Though, I think there is a way to make it work on clients that have it, while clients who don't, can still join the server.
You could for example have two packages:
a main package that contains the musicplayer's functionality & depends on the native code, and another standalone package that doesn't depend on native code, which just contains a placable bStatic actor that mappers can put in their maps, and configure its variables.
The latter actor does a class independant DLO in client or standalone netmodes on the musicplayer's class in the main package in one of its beginplay functions, if successful (meaning the machine executed on, has the dll), spawn that class, with the spawning actor as owner. From this point the spawned real actor that's based on native code can take over & start searching for it's owning fake actor, get its variables from it, and start doing its thing. Since the fake actor is bStatic, it isn't removed on the client on initial connect, so the variables don't need to be replicated, as the client has access to the mapped default values.
That way, maps that use the Musicplayer depend only on the "fake" package that contains just the placable actor with the variables, and that doesn't depend on the native dll, so it can be compressed & redirected, while players who do have the dll, can still benefit from their installation & hear the music. This is just a raw sketch of a workaround i have in mind when reasoning about it, so it could contain flaws.
Waffnuffly wrote:Why would players not have everything they need already in EXU's case? Do people really download whole mods off a coop server?
More then 90% of the players never played the maps we've put on the servers before, We're using a private redirect with fast download speed so that's not a problem.
One of the main benefits of the servers is that players who just have ut patched to v436 can play any mappack there is in coop. This is one of the core features of my ecoop mod. it supports more then 60 SP campaigns, for a total of 550+ maps. When a new mappack is out, I update the mod to simulate the Gameplay/mutator settings the author had in mind for that pack as close as possible or to an acceptable level if that's not possible. So basically all the mappacks are covered & run under the same gametype/hud/mutator/...
This is also to have the servers remain in the same server tab since this depends on the game's classname. So I'm using fake subclass of my custom gametype, depending where we want the server to appear (tvcoop, coopgame2,...).
We use a portalmap that gives access to all the available campaigns, and that acts as a hub where players choose the next campaign to play and where they end up when finishing the last map of each campaign. I'm planning to update ecoop to support exu as well, after I've done some testing with it.