There have been changes to the initialsation process of the BIS Module Framework. Now it seems to be broken on clients in MP since latest stable release - at least it can be called more than only "unstable". The issues below affect clients, that are connected at the start of a MP session to a dedicated server and JIP clients!
It is working correctly on the dedicated server itself, on MP host, SP and editor! The outcomes are severe though.
There are actually 2 visible initialisation issues:
- Init order is not matching the functionPriority value defined in cfgVehicles!
It is kept on dedicated server, host, SP and editor correctly - likely to some isServer somewhere - havent tested HC but its very likely affected too, as its a client. Setting isGlobal to 1 or 2 didnt make any difference.
- If the init is taking "longer" than an (undefined ?) period of time, modules start to initialise twice (!!) on the clients (again, not on server - only on clients in MP environment). somewhere in the middle, long after preInit "Attempt to override final function - bis_fnc_preload_server" pops up in clientside RPT (funnily not the server RPT, havent checked what the function does but may be related).
Impact:
Ad. 1. will lead to race conditions and other weird issues, as the order is completely random.
Ad. 2. leads to duplicated UIs, buttons, menu items, code running twice etc. on the client. Simply there are several instances running then, which may in some cases be intended but not in all, and its again purley random - depending on the init time, i think it becomes visible between 20-30 seconds.
There is no (simple) Workaround for these 2 problems.