This mod makes the server relive the same day over and over until an authorized player joins the server. This can be useful for public visible servers if you want to pause time progressing while other players are playing on your server but you do not want to whitelist it.
The mod will create a file (TimeLooper.xml) inside the mod folder where you can specify which players will enable normal time flow. There is a bug with JsonUtility and 7 days to die, so I had to switch to XML Serializer.
This is my first mod, please feel free to modify and contribute to it however you like.
Changelog
1.1.0
- Added different modes for time loop trigger event
- Added server commands (type help timeloop)
1.0.2
Switched to xml serialization
1.0.1
Fixed bug that data is not being serialized
DOWNLOAD (15 KB)
Credits: timeloop
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.
I would really really love to make this mod work, as as I have a friend or two who loves to play all night and progress through bloodmoons without the rest of us. Sadly, I cant get this mod to work. Been tinkering with some of the commands, but the days just progress as usual on my testserver. Is there anything I do wrong, or can I hope for a update on the mod? Thanks for your awesome work!
Love the mod so far, but a QoL improvement could be to change the color of the Day/Time Counter when the days are being looped. That way people can know at a glance through the in-game UI that a day is in loop mode.
It’s not working for me, I set to min 2 players, and Im the only one online and time still passes.
it’s a dedicated server.
Same here. Great idea, but so far not able to use threshold mode
The mod actually works! And in threshold mode too. The thing is time DOES pass, but the “day” will reset when trying to change to the next day (and a message appears on the server saying this), so the loop is the DAY, but hours do pass.
This is such a good idea! Thank you!
Hello, I downloaded from Github. Where can I set the steamid oder player id, which is “starting” the “olding process” ? Thanks for your reply
Either in the TimeLooper.xml, generated inside the Mod’s folder when you run it for the first time (steam-id). Or through the admin console in the game directly (F1 – tilo player auth “Ingame Name”). You have to be an admin for the later.
Im trying to run this mod through game MP (hosting on my pc) and i cant make it work, when i write “help timeloop” it will show commands, but if i type any of it, yellow message appears: “WRN data was not loaded”
This means that the data from the TimeLooper.xml could not be loaded. Maybe it is corrupted. Have you modified this file? It should have been auto generated inside the Mod’s folder. What do the startup logs from the server console suggest? Are there any indicators that the mod could not be loaded successfully? There should be either “[TimeLoop] Loading Config …” or “[TimeLoop] Creating New Config …” depending on whether the file exists already. You could also try to delete the TimeLooper.xml and restart the server.
Hold on, you were saying that you tried to run this mod in a coop game hosted through the game directly? So no dedicated server from downloaded from steam tools?
I am sorry this won’t work as the mod was never intended for that usage. The following line (multiple occurences) prevents this:
if (GameManager.Instance != null && GameManager.IsDedicatedServer)
You can try to uncomment the last part of the query and recompile it, I guess it will work but it is untested so I you might experience unexpected behaviour even though it is unlikely.
Yes hosting through game, i do not know how to code so i cant really modify this mod, if you would be so kind and try to modify it? i can be your test specimen.
I added a client version to the latest release (see github)
https://github.com/lehimebe/7dtdTimeLoop/releases/tag/1.1.0
This is won’t become part of the official code though. It makes not so much sense to have the mod running in a non dedicated server. The admin has to be present anyhow and can set the time via console to his/her liking.
Would it be possible to add an option so that instead of automatically progressing days when whitelisted people play they can write a start and stop command in the console to control the repeating of days?
I’m playing on a server where the admin is the most active player but we would like to be able to pause progressing days so we can all be online when we start the horde night.
Sure, that would be possible. Might be a good idea for the next release!
I updated the mod with the features you mentioned.
Check out the latest version on github (1.1.0).
Unfortunately I can not change the description on this site.
The mod now uses xml serialization.
There are 3 different modes:
whitelist will trigger the timeloop until some person from the KnownPlayers who has skip timeloop set to true joins the server.
threshold will trigger the timeloop until enough players are online (MinPlayers)
none will disable the feature
The settings can be changed in the config during runtime or via server command (admin only). Just tpye in “help timeloop”. Example commands are:
tilo enable -> enables the mod
tilo disable -> disables the mod
tilo mode whitelist -> sets the mode to whitelist
tilo player min 3 -> changes the threshold to 3
tilo player auth “John Doe” -> disables timeloop while John Doe is playing.
There is a paragraph on Submit a Mod page that explains how to update your published mods.
never even thought something like this is possible, thank you very much!