Gjallar

v0.1.1·Updated 2026-09-28

Restart warnings for dedicated servers. Write a file with a timestamp and a reason and every player gets a countdown, on screen and in chat. Server-side only; players install nothing.

About this mod Author’s original text

Gjallar

Gjallar warns players before a dedicated server restarts.

Without it a restart is a silent disconnect. Nobody is told it is coming, and nobody can tell

afterwards whether the server went down on purpose, crashed, or whether their own connection

dropped. Gjallar counts the restart down on screen so people can get somewhere safe and log out

properly.

Named for Gjallarhorn, the horn sounded in Norse myth to warn that something is coming.

Install on the server only. Players need nothing. Gjallar announces using messages the

base game already knows how to show, so there is no version to keep in step and removing

Gjallar can never stop anybody joining.

Gjallar Does Not Restart Your Server

It only announces the restart. Whatever takes the server down now - a systemd timer, a cron job,

an update script, a hosting panel - keeps doing that.

This is deliberate. A mod that fails to load should never be able to stop a restart happening.

There are two ways to tell Gjallar a restart is coming.

Daily Restarts

If your server restarts at the same times every day, put those times in the config:

DailyRestarts = 00:00,12:00

24-hour HH:MM, separated by commas, in the server's own local time. Gjallar counts down to

each one automatically.

Because Gjallar only announces these restarts, the times have to match whatever actually

performs them. Gjallar prints the next scheduled restart at startup and in gjallar_status,

next to the server's current clock, so you can check the two agree.

Unplanned Restarts

For a mod update or anything else you cannot predict, write a file. Gjallar checks for it every

couple of seconds, announces the countdown, and deletes it.

|

For example, warning for two minutes and then restarting:

echo "$(( $(date +%s) + 120 ))|Mod update" > /opt/valheim/restart.signal

sleep 120

systemctl restart valheim

The reason is optional and appears in the message. The file lives beside BepInEx in your game

folder unless you set SignalFile; gjallar_status prints the exact path.

The account your server runs as needs to be able to delete this file.

A signal file always takes priority over the daily schedule.

What Players See

A message in the middle of the screen, in the same style the game uses for its own

announcements, at 90, 60, 30, 10 and 5 seconds and again when time runs out:

Server restarting in 90 seconds - Mod update

Each one is also kept in the player's message log, so somebody who stepped away can still see

what happened.

If the restart is announced part-way between two marks, Gjallar opens by saying how long is

actually left rather than skipping to the next mark.

Settings

| Setting | Default | What It Does |

|---|---|---|

| Enabled | true | Turn Gjallar off without uninstalling. Does not affect whether the server restarts. |

| SignalFile | (empty) | Where to look for the signal file. Empty means restart.signal beside BepInEx. |

| PollSeconds | 2 | How often to check for a signal file. |

| DailyRestarts | (empty) | Times the server restarts each day, HH:MM separated by commas, server local time. |

| ScheduledReason | Scheduled restart | The reason shown for a daily restart. |

| Marks | 90,60,30,10,5 | Seconds remaining at which to announce. |

| AnnounceOnPickup | true | Announce immediately when a restart is first known about. |

| AnnounceAtZero | true | A final message when time runs out. |

| Template | Server restarting in {seconds} seconds - {reason} | The wording. {seconds} and {reason} are filled in. |

| ZeroTemplate | Server restarting now - {reason} | The wording for the final message. |

| CentreScreen | true | The message in the middle of the screen. |

| ChatLine | false | Also announce in chat. Off by default - the game renders it as yellow capitals across the bottom left, which alongside the centre message reads as the same warning twice. |

| ChatName | Server | The name shown against the chat line. |

Commands

Admin only. A dedicated server has no console to type into, so these are mainly for tes

Install & use Install: BepInEx plugin

  1. The archive from playbuff is the mod itself — usually a BepInEx plugin (a .dll or a plugin folder once unzipped).
  2. Recommended: use a community mod manager (such as r2modman) — pick this game, import the mod, and the manager sets up BepInEx and its dependencies for you.
  3. Manual route: install the BepInEx loader in the game folder, then drop the unzipped .dll or plugin folder into BepInEx/plugins/.
  4. Launch the game — the BepInEx console logs every plugin it loads; seeing this mod in the log means it is installed.

Mods with listed dependencies need those installed too, or they will not load. Options are usually changed in-game or in the plugin's config file. In multiplayer, the host and every client need the same mods installed.

Dependencies

Install these first, or the mod will not work:

denikson-BepInExPack_Valheim

File & checksum

Filename
Gjallar-0.1.1.zip
File size
203.0 KiB