Description
This mod fixes the inventory duplication bug that can occur when travelling to another map on Nitrado servers. A lot of people have been complaining about this bug (including myself), and since after 2 years the issue has not been fixed I decided to make the fix myself.
The project is open source and hosted on GitHub: https://github.com/K07H/nitrado-transfers-fix
If you like this mod please consider donating: https://paypal.me/osubmarin
News
Version 20 is available!
This is a big rework of the mod, so if you had problems with the previous version you should definitely try this one. List of changes below:
- Added ini setting
AutoStackBeforeTransfer. ReceivingItemsTimespanhas been reduced to 45 seconds.- The mod does now handle manually split stacks. This is achieved thanks to the override of the servers listing UI, called ClusterListSessions. That's the UI you see when transfering to another server, the one with the "JOIN" button. Overriding this UI allows to perform the "merge stacks" operation automatically on player's inventory before a map transfer. Note that if you are using another mod that also overrides the servers listing UI there might be a conflict. However it is possible to disable the UI override from this mod by setting the
AutoStackBeforeTransfersetting toFalse. If you do so this mod will not override the servers listing UI, but players will need to merge stacks in their inventory (using the "merge stacks" button when inside inventory) before a map transfer to ensure they don't loose any item. - Optimized processing (less computations).
Info & Support
Please use the comments section of this mod if you need information and/or support.
Configuration
This mod is correctly configured by default and therefore does not require any changes to the GameUserSettings.ini file.
However, you can modify some settings by adding the following lines to the end of the GameUserSettings.ini file:
FixTransfersDupes=True
AutoStackBeforeTransfer=True
FirstItemReceivedTimespan=60
ReceivingItemsTimespan=45
EnableLogging=False
LogAllEvents=False
Configuration explanations
FixTransfersDupesshould stay toTrue, which is the default value. If you want to turn OFF the mod without uninstalling it you can set it toFalse(setAutoStackBeforeTransfertoFalsetoo).AutoStackBeforeTransfershould stay toTrue, which is the default value. This ensures that player inventory stacks gets merged automatically before a map transfer. If you are using another mod that overrides the servers listing UI (ClusterListSessions) there might be a conflict. However it is possible to disable the UI override from this mod by setting theAutoStackBeforeTransfersetting toFalse. If you do so this mod will not override the servers listing UI, but players will need to merge stacks in their inventory (using the "merge stacks" button when inside inventory) before a map transfer to ensure they don't loose any item.FirstItemReceivedTimespanis the amount of time in seconds the mod will wait for the first transfered item to be added to player's inventory. You should not modify this value. Default value is60seconds, minimum value is5, maximum value is180.ReceivingItemsTimespanis the amount of time in seconds the mod will check for duplicates when an item gets added to player's inventory. You should not modify this value. Default value is45seconds, minimum value is5, maximum value is180.EnableLoggingcan be set toTrueif you want the mod to add logging lines in theShooterGame.logfile. Default value isFalse. If set toTrue, only few events like "player joined" and "amount of transfered items" will be logged, but more things can be logged if you also setLogAllEventstoTrue.LogAllEventscan be set toTrueif you want to add additional logging lines in theShooterGame.logfile. Default value isFalse. Has no effect ifEnableLoggingis not set toTrue. Setting this toTrueis not recommended unless for testing purposes. This will log all the operations made by the mod when a player receives a transfered item.
About FirstItemReceivedTimespan and ReceivingItemsTimespan :
On a regular Nitrado server you should not modify the values of FirstItemReceivedTimespan and ReceivingItemsTimespan. If some item duplication is still happening with this mod installed, it's probably because your Nitrado server is extremely slow at processing map travels, which is not normal. If your Nitrado server is extremely slow at processing map travels you can try to increase FirstItemReceivedTimespan and ReceivingItemsTimespan values.
You can refer to the following picture if you want to understand how these two settings work. The picture shows what happens when a player spawns (after a map travel):
https://i.imgur.com/3iXl8C2.png