Auto-update clients with BloodMoon status via a CVAR to fill gap left by broken IsBloodMoon trigger in buffs.xml.
💟 This mod has reached End of Life and will not be directly updated to support 7 Days to Die 2.0 or beyond. Because this mod is MIT-Licensed and open-source, it is possible that other modders will keep this concept going in the future.
Searching NexusMods or 7 Days to Die Mods may lead to discovering other mods either built on top of or inspired by this mod.
💟 This mod has reached its end of life and is no longer supported or maintained by Kanaverum (Jonathan Robertson // me). I am instead focused on my own game studio (Calculating Chaos, if curious).
❤️ All of my public mods have always been open-source and are MIT-Licensed; please feel free to take some or all of the code to reuse, modify, redistribute, and even rebrand however you like! The code in this project isn't perfect; as you update, add features, fix bugs, and otherwise improve upon my ideas, please make sure to give yourself credit for the work you do and publish your new version of the mod under your own name 😄 🎉
🤝 This mod does nothing functional on its own, but instead enables new server-side functionality for other mods:
🔍 This is - in essence - a temporary workaround to support server-side versions of mods that currently rely on the
IsBloodMoonrequirement found inbuffs.xml. If The Fun Pimps update theIsBloodMoonrequirement forbuffs.xml, this mod will no longer be necessary and I'd recommend for players to use that requirement instead.
- Each time a player connects, BloodMoon begins, or BloodMoon ends, a new CVAR
is_bloodmoonupdates for players to either0or1:0means the BloodMoon event is currently inactive1means the BloodMoon event is currently active
ℹ️ Reminder: if playing a local game, BloodMoon might not start if the host isn't at least level 5.
Any time you would've used a requirement like this:
<requirement name="IsBloodMoon" operation="Equals" value="1"/>instead use something like this:
<requirement name="CVarCompare" cvar="is_bloodmoon" operation="Equals" value="1" />Adding this to buffs.xml will cause the trader to be inaccessible during BloodMoon - even when server-side mods disable the trader's schedules so they otherwise stay open all night long.
<config>
<append xpath="/buffs/buff[@name='buffStatusCheck01']">
<effect_group>
<passive_effect name="NoTrader" operation="base_set" value="@is_bloodmoon" />
</effect_group>
</append>
</config>Without proper installation, this mod will not work as expected. Using this guide should help to complete the installation properly.
If you have trouble getting things working, you can reach out to me for support via Support.
| Environment | Compatible | Does EAC Need to be Disabled? | Who needs to install? |
|---|---|---|---|
| Dedicated Server | Yes | no | only server |
| Peer-to-Peer Hosting | Yes | only on the host | only the host |
| Single Player Game | Yes | Yes | self (of course) |
🤔 If you aren't sure what some of this means, details steps are provided below to walk you through the setup process.
- Does adding this mod require a fresh map?
- ✅ No! You can drop this mod into an ongoing map without any trouble.
- Does removing this mod require a fresh map?
- ✅ No! You can remove this mod from an ongoing map without any trouble, but you might want to confirm if any other mods depend on this one before you do.
ℹ️ If you plan to host a multiplayer game, only the host PC will need to install this mod. Other players connecting to your session do not need to install anything for this mod to work 😉
- 📦 Download the latest release by navigating to this link and clicking the link for
bloodmoon-server-status.zip - 📂 Unzip this file to a folder named
bloodmoon-server-statusby right-clicking it and choosing theExtract All...option (you will find Windows suggests extracting to a new folder namedbloodmoon-server-status- this is the option you want to use) - 🕵️ Locate and create your mods folder (if missing): in another window, paste this address into to the address bar:
%APPDATA%\7DaysToDie, then enter yourModsfolder by double-clicking it. If noModsfolder is present, you will first need to create it, then enter yourModsfolder after that - 🚚 Move this new
bloodmoon-server-statusfolder into yourModsfolder by dragging & dropping or cutting/copying & pasting, whichever you prefer - ♻️ Stop the game if it's currently running, then start the game again without EAC by navigating to your install folder and running
7DaysToDie.exe- running from Steam or other launchers usually starts 7 Days up with the
7DaysToDie_EAC.exeprogram instead, but running 7 Days directly will skip EAC startup
- running from Steam or other launchers usually starts 7 Days up with the
⚠️ it is NECESSARY for the host to run with EAC disabled or the DLL file in this mod will not be able to run- 😉 other players DO NOT need to disable EAC in order to connect to your game session, so you don't need to walk them through these steps
- 🔑 it is also HIGHLY RECOMMENDED to add a password to your game session
- while disabling EAC is 100% necessary (for P2P or single player) to run this mod properly, it also allows other players to run any mods they want on their end (which could be used to gain access to admin commands and/or grief you or your other players)
- please note that dedicated servers do not have this limitation and can have EAC fully enabled; we have setup guides for dedicated servers as well, listed in the next 2 sections: Windows/Linux Installation (Server via FTP from Windows PC) and Linux Server Installation (Server via SSH)
- 📦 Download the latest release by navigating to this link and clicking the link for
bloodmoon-server-status.zip - 📂 Unzip this file to a folder named
bloodmoon-server-statusby right-clicking it and choosing theExtract All...option (you will find Windows suggests extracting to a new folder namedbloodmoon-server-status- this is the option you want to use) - 🕵️ Locate and create your mods folder (if missing):
- Windows PC or Server: in another window, paste this address into to the address bar:
%APPDATA%\7DaysToDie, then enter yourModsfolder by double-clicking it. If noModsfolder is present, you will first need to create it, then enter yourModsfolder after that - FTP: in another window, connect to your server via FTP and navigate to the game folder that should contain your
Modsfolder (if noModsfolder is present, you will need to create it in the appropriate location), then enter yourModsfolder. If you are confused about where your mods folder should go, reach out to your host.
- Windows PC or Server: in another window, paste this address into to the address bar:
- 🚚 Move this new
bloodmoon-server-statusfolder into yourModsfolder by dragging & dropping or cutting/copying & pasting, whichever you prefer - ♻️ Restart your server to allow this mod to take effect and monitor your logs to ensure it starts successfully:
- you can search the logs for the word
BloodMoonServerStatus; the name of this mod will appear with that phrase and all log lines it produces will be presented with this prefix for quick reference
- you can search the logs for the word
- 🔍 SSH into your server and navigate to the
Modsfolder on your server- if you installed 7 Days to Die with LinuxGSM (which I'd highly recommend), the default mods folder will be under
~/serverfiles/Mods(which you may have to create)
- if you installed 7 Days to Die with LinuxGSM (which I'd highly recommend), the default mods folder will be under
- 📦 Download the latest
bloodmoon-server-status.ziprelease from this link with whatever tool you prefer- example:
wget https://github.com/jonathan-robertson/bloodmoon-server-status/releases/latest/download/bloodmoon-server-status.zip
- example:
- 📂 Unzip this file to a folder by the same name:
unzip bloodmoon-server-status.zip -d bloodmoon-server-status- you may need to install
unzipif it isn't already installed:sudo apt-get update && sudo apt-get install unzip - once unzipped, you can remove the bloodmoon-server-status download with
rm bloodmoon-server-status.zip
- you may need to install
- ♻️ Restart your server to allow this mod to take effect and monitor your logs to ensure it starts successfully:
- you can search the logs for the word
BloodMoonServerStatus; the name of this mod will appear with that phrase and all log lines it produces will be presented with this prefix for quick reference - rather than monitoring telnet, I'd recommend viewing the console logs directly because mod and DLL registration happens very early in the startup process and you may miss it if you connect via telnet after this happens
- you can reference your server config file to identify your logs folder
- if you installed 7 Days to Die with LinuxGSM, your console log will be under
log/console/sdtdserver-console.log - I'd highly recommend using
lessto open this file for a variety of reasons: it's safe to view active files with, easy to search, and can be automatically tailed/followed by pressing a keyboard shortcut so you can monitor logs in realtime- follow:
SHIFT+F(useCTRL+Cto exit follow mode) - exit:
qto exit less when not in follow mode - search:
/BloodMoonServerStatus[enter] to enter search mode for the lines that will be produced by this mod; while in search mode, usento navigate to the next match orSHIFT+nto navigate to the previous match
- follow:
- you can search the logs for the word