Please disclose if your mod was created primarily using AI tools by adding the 'AI Generated' category. Failing to do so may result in the mod being removed from Thunderstore.
ValheimEssentials
FTB Essentials for Valheim - /home, /sethome, /back, /tpa, /tpaccept, /rtp commands via chat. No cooldowns, no warmup. Built for private servers.
| Last updated | a day ago |
| Total downloads | 33 |
| Total rating | 1 |
| Categories | Mods Misc Server-side Transportation |
| Dependency string | BrTeam-ValheimEssentials-1.0.0 |
| Dependants | 0 other packages depend on this package |
This mod requires the following mods to function
denikson-BepInExPack_Valheim
BepInEx pack for Valheim. Preconfigured and includes unstripped Unity DLLs.
Preferred version: 5.4.2202README
ValheimEssentials
A Valheim mod inspired by FTB Essentials (Minecraft) that adds teleportation commands via in-game chat. Built for private servers with friends — no warmup timers, no cooldowns, no permissions.
Features
- Named Homes — Save, teleport to, and manage multiple named locations
- Back — Return to your last position before any teleport or death
- TPA — Request teleport to another online player
- RTP — Random teleport to a safe land location anywhere in the world
Commands
| Command | Description |
|---|---|
/sethome <name> |
Save your current position as a named home |
/home <name> |
Teleport to a saved home |
/delhome <name> |
Delete a saved home |
/homes |
List all your saved homes with count |
/back |
Return to your last position (before teleport or death) |
/tpa <player> |
Request teleport to another player (partial name match supported) |
/tpaccept |
Accept an incoming teleport request |
/rtp |
Random teleport to a safe location |
How It Works
Chat Commands
All commands are typed in the regular in-game chat (not the console). Commands starting with / are intercepted and never appear as chat messages to other players. Normal chat messages pass through unaffected.
Homes System
- Each player can save up to 5 homes (configurable)
- Home names are case-insensitive (
/home Base=/home base) - Homes are saved per-world in a text file at
BepInEx/config/ValheimEssentials/homes_<worldname>.txt - Each player's homes are stored on their own PC, identified by their Steam ID
- Homes persist across server restarts
Back System
- Position is automatically saved before every teleport (
/home,/tpa,/rtp) - Position is also saved when you die —
/backtakes you to your death location - Shows context-aware messages: "Teleported to death location!" vs "Teleported to previous position!"
- Two consecutive
/backcommands will swap between two positions
TPA (Teleport to Player)
- Player A types
/tpa PlayerB→ Player B receives the request in chat - Player B types
/tpaccept→ Player A teleports to Player B - Requests auto-expire after 60 seconds (both players are notified)
- Partial name matching:
/tpa Jofinds "JoJo" if it's a unique match - Multiple matches show a disambiguation message
- Self-TPA is blocked
- Only one pending request per player at a time
- Works in both P2P (host) and dedicated server modes via ZRoutedRpc
RTP (Random Teleport)
- Teleports to a random safe land position within a configurable radius
- Uses
WorldGeneratorto validate terrain even in unloaded chunks - Avoids ocean biome and positions below water level
- Shows "Searching for safe position..." while looking
- Uses
distantTeleportflag to handle unloaded zones smoothly - Range defaults: 1000-8000 blocks from player position
Installation
Requirements
- BepInEx 5.x installed in your Valheim folder
- .NET Framework 4.6.2 SDK (for building from source)
From Release
- Download
ValheimEssentials.dllfrom Releases - Place it in
Valheim/BepInEx/plugins/ValheimEssentials/ - Start the game
Building from Source
- Clone the repository
- Update
ValheimDirinValheimEssentials.csprojto point to your Valheim installation - Run
dotnet build - The DLL is automatically copied to
BepInEx/plugins/ValheimEssentials/
Important: All players on the server need the mod installed, not just the host.
Configuration
Configuration is managed via BepInEx config at BepInEx/config/com.jojo.valheimessentials.cfg.
| Setting | Default | Description |
|---|---|---|
General/CommandPrefix |
/ |
Chat command prefix |
RTP/MinRange |
1000 |
Minimum RTP distance from player |
RTP/MaxRange |
8000 |
Maximum RTP distance from player |
RTP/CooldownSeconds |
0 |
RTP cooldown (0 = disabled) |
Home/CooldownSeconds |
0 |
Home teleport cooldown (0 = disabled) |
Home/MaxHomes |
5 |
Maximum homes per player |
Back/CooldownSeconds |
0 |
Back teleport cooldown (0 = disabled) |
Technical Details
- Mod Loader: BepInEx 5.x
- Framework: .NET Framework 4.6.2
- Harmony Patches: Single prefix on
Chat.InputTextfor command interception - Networking: ZRoutedRpc for cross-client TPA communication
- Persistence: Pipe-delimited flat files, atomic writes (temp + rename)
- Player Identity: Steam ID (
Player.GetPlayerID()) — safe against name changes - Language: All in-game messages are in Portuguese (PT-BR)
Project Structure
ValheimEssentials/
├── Plugin.cs # BepInEx entry point, configuration
├── CommandRouter.cs # Chat interception, command dispatch, Harmony patches
├── FeedbackHelper.cs # PT-BR chat message utility
├── HomeManager.cs # Home CRUD + file persistence
├── BackManager.cs # Position tracking (teleport & death)
├── TeleportHelper.cs # Teleport wrapper (saves /back position)
├── TpaManager.cs # TPA request state management
├── RpcChannels.cs # ZRoutedRpc networking for TPA
├── RtpManager.cs # Random safe position finder
└── ValheimEssentials.csproj
License
This project is provided as-is for private use. Feel free to modify and share with friends.