
Discord GIFs
Valheim death replays and F8 GIFs. HUD-free capture, one GIF saved and sent to Discord, automatic 30-minute cleanup and optional server settings through Jotunn.Discord GIFs 0.3.0
Record your Valheim adventures and share GIFs on Discord automatically when you die or by pressing F8.
- Capture without the HUD while keeping it visible on your screen.
- Default death replay: 2 seconds before + 2 seconds after death, with adjustable duration.
- Generate one GIF per capture: the same file is saved on your PC and sent to Discord.
- One resolution setting and one FPS setting for capture, local saving and Discord. Defaults: 480p at 10 FPS, with optional 720p/1080p and up to 30 FPS.
- Customize sender names, avatars, messages and footers for manual captures and deaths.
- Automatically delete GIFs generated by this mod after 30 minutes.
- Optional server-controlled Discord settings through Jötunn.
GIFs have no audio and support up to 256 colors. Windows clients record and upload the GIFs.
Installation
Install BepInEx, ConfigurationManager and Jötunn 2.30.2 or newer, then install Discord GIFs. Close Valheim before updating and keep only one copy of DiscordClips.dll. Keep your existing ffmpeg.exe and configuration.
Simple Discord setup
- In Discord, open the settings of the text channel where you want to receive GIFs.
- Go to Integrations → Webhooks, create a webhook and click Copy Webhook URL. You need permission to manage webhooks.
- In Valheim, press F1, select Discord GIFs and paste the URL into WebhookUrl under 03 - Discord. Click Colar (Paste) if using the masked field.
- If prompted, wait for the automatic encoder download to finish. Enter a world, play for at least 6 seconds, close the settings menu and press F8 to test.
Deaths also generate GIFs automatically when capture is enabled and outside the cooldown. Manual captures save the previous 4 seconds by default. Leave the webhook empty to save GIFs only on your computer.
Optional separate channel: set ManualWebhookUrl under 05 - Discord manual to send F8 captures to another channel. Leave it empty to use the main webhook.
GIF quality and local storage
Under 02 - GIF, adjust only FPS do GIF (FramesPerSecond) and Resolucao do GIF (altura) (CaptureHeight). These shared settings control capture and the single GIF saved on your PC and sent to Discord. There are no separate Discord quality controls.
New configurations default to 480p and 10 FPS. Choose 480p, 720p or 1080p as the maximum image height; the complete scene and aspect ratio are preserved and the image is never enlarged beyond the game screen. Increasing resolution or FPS creates larger files and takes longer to encode and upload. The GIF may be reduced only when needed to fit the configured upload size limit. The same final file is kept locally and sent to Discord.
When updating, obsolete separate output settings are removed automatically. Your existing capture FPS and height are preserved, with a .before-unified-gif.bak backup if the configuration changes.
GIFs are saved in clips next to DiscordClips.dll by default. Change ClipsDirectory under 04 - Arquivos to choose another folder.
The mod checks for expired GIFs when the game starts and once per minute while it is running. Generated GIFs whose last modification time is at least 30 minutes old are deleted during the next check. If the game is closed, cleanup resumes the next time it starts. Local deletion does not delete Discord messages or attachments.
Cleanup only removes filenames generated by this mod directly inside the configured clips folder, including older -discord and -menor variants. Other files and subfolders are preserved. Move or rename a GIF if you want to keep it longer. Locked files are retried later.
Customize your messages
Set names, avatar image URLs and footers separately under 05 - Discord manual and 06 - Discord morte. Set ManualMessage and DeathMessage under 03 - Discord.
Use {player} in messages to show the player's name in bold. Separate complete death messages with semicolons to choose one randomly:
{player} went to Valhalla!;{player} fell in battle!
Empty sender names use WebhookName. Empty avatar URLs use the webhook's avatar. Avatar URLs must point to a public HTTP/HTTPS image. Footers support {player} as plain text.
Optional server setup
Install Discord GIFs 0.3.0 and Jötunn on the server and participating clients. Start the server once, then edit BepInEx/config/hugo.valheim.discordclips.cfg to set webhooks, messages and death replay duration.
Saving the configuration file on a running dedicated server reloads it after about one second. Administrators listed in adminlist.txt can also change shared options in game. Shared options are locked for other players.
The server controls webhooks, sender identities, messages, death replay duration, automatic death capture, upload size limit, cooldown and timeout. Each player keeps control of capture on/off, hotkey, GIF quality, memory, HUD mode, orientation, focus behavior, encoder and clip folder.
The dedicated server distributes settings; recording, encoding, local cleanup and uploads happen on each player's computer. Shared webhook URLs are sent to participating clients; masking only hides them on screen. Local configuration values are restored on disconnect by Jötunn.
The server installation is optional. Without the mod on the server, clients use their own settings. Server and clients running this mod must use matching versions. Players without the mod are not required to install it.
Quick troubleshooting
- GIF too large: set MaxUploadMB to your Discord upload limit. The same GIF is reduced if necessary; no separate full-quality original is created.
- Upload failed: the saved GIF stays on your PC until the 30-minute cleanup.
- Black frames or capture problems: disable HideHUD to use screen capture.
- Upside-down image: toggle FlipVertically.
- Encoder missing: enable AutoDownloadEncoder and use the default FfmpegPath = ffmpeg.exe, or provide your own encoder path.
- Settings locked: ask the server administrator to update the shared configuration.
World-space labels may remain visible with HideHUD enabled. Capture can be skipped during cooldown or another export. Unfinished exports may leave temporary recovery frames; the 30-minute GIF cleanup does not remove recovery folders.
Test status
Version 0.3.0 compiled successfully and passed 93 automated checks, including real GIF encoding, identical local/uploaded bytes, one-file retries after size rejection, upload failure handling, and 30-minute cleanup boundaries. In-game framing, live Discord output and multiplayer synchronization still require live testing.