ShipMusic
Live Viking and folk radio on your ship. F8 changes stations. Free Radio Browser discovery, spatial audio, volume control and optional local OGG playlists.ShipMusic
Give every voyage its own soundtrack. / Своя музыка для каждого морского похода.
Live Viking and folk radio for Valheim, with spatial ship audio and optional local OGG playlists.
Живое викингское и фолк-радио для Valheim, пространственный звук лодки и локальные плейлисты OGG.
Русский
Музыка, которая путешествует вместе с лодкой
ShipMusic добавляет источник звука прямо на лодку. В версии 0.7.0 по умолчанию включено интернет-радио: взял руль — запускается случайная станция по выбранным жанрам; отпустил — музыка останавливается. F8 выбирает другую станцию. В локальном режиме каждой лодке можно назначить свою песню.
Музыку могут слышать рулевой, пассажиры и игроки на берегу поблизости с установленным модом. Для радио нужен интернет, аудиофайлы не требуются. Звук движется вместе с лодкой и постепенно затихает по мере удаления.
Возможности
- Бесплатный поиск радиостанций через Radio Browser, без регистрации и API-ключа.
- Смесь Viking, Nordic Folk, Folk Metal и Pagan Metal; жанры настраиваются.
- Автоматический запуск у руля; F8 меняет станцию, а в локальном режиме — песню.
- Воспроизведение даже на стоящей лодке, пока кто-нибудь управляет ею.
- Пространственный звук: до 10 метров — выбранная громкость, от 10 до 40 метров — плавное затухание.
- Один ближайший источник радио на клиент; в локальном режиме отдельные зацикленные песни лодок.
- Громкость от 0 до 100 с применением сохранённого конфига во время игры.
- Возможность заменить все песни своими файлами OGG Vorbis.
Установка
- В r2modman выберите Valheim и нужный профиль.
- Найдите ShipMusic by Fenikonir в разделе Online и установите вместе с зависимостями.
- Запустите игру кнопкой Start modded.
- Возьмитесь за руль любой из четырёх поддерживаемых лодок.
Зависимость пакета: denikson-BepInExPack_Valheim-5.4.2350. Jötunn и ConfigurationManager не требуются.
Для установки из ZIP используйте Settings → Profile → Import local mod. Если раньше вы копировали DLL вручную, перенесите старую папку ShipMusic за пределы BepInEx/plugins перед установкой через менеджер, чтобы не осталось двух копий.
Интернет-радио: настройка и работа
Откройте Config editor → fenikonir.shipmusic.cfg:
[Radio]
Enabled = true
Tags = viking,viking metal,nordic folk,folk metal,pagan metal
Изменения применяются после сохранения конфига. Tags — до восьми жанров
Radio Browser через запятую. Мод случайно выбирает доступную MP3-станцию,
а песни внутри эфира выбирает вещатель. F8 переключает станцию, а не пропускает
песню. Жанровые теги описывают станцию в целом: эфир может включать другую
музыку, ведущих и рекламу. Поддерживаются прямые MP3-потоки; AAC и HLS пока исключены.
Рулевой передаёт слушателям только идентификатор станции. Каждый клиент сам
подключается к вещателю; радио не передаётся через игровой сервер и не сохраняется
на диск. Для радио у участников нужны 0.7.0 и Radio.Enabled=true.
ShareMyTracks и ReceiveSharedTracks относятся только к локальным OGG.
Задержки эфира и персонализированная реклама могут различаться между слушателями.
Звук слышен в пределах 40 м, подключение закрывается дальше 50 м или при отпускании руля. Если рядом несколько лодок с радио, клиент слушает ближайшую. Во время начальной буферизации или сбоя играет локальная песня лодки, если она есть; иначе — тишина. Переподключение выполняется с паузой. При взятии руля начинается текущий эфир, а не начало песни. На неподвижной лодке у руля радио тоже работает.
Громкость регулируется общей настройкой Audio.Volume. Поставьте
Radio.Enabled=false, чтобы вернуть локальные песни и прежнее поведение F8.
При ручной установке рядом с ShipMusic.dll также нужен NLayer.dll из архива.
Свои песни
Следующие разделы описывают локальный режим (Radio.Enabled=false).
Закройте игру и откройте папку профиля через r2modman. В BepInEx/plugins найдите папку с ShipMusic.dll. Положите аудиофайлы рядом с DLL:
| Лодка | Имя файла |
|---|---|
| Плот | raft.ogg |
| Карви | karve.ogg |
| Длинный корабль | longship.ogg |
| Драккар | drakkar.ogg |
Используйте OGG Vorbis. Простое переименование .mp3 в .ogg не конвертирует аудио. После замены файлов перезапустите игру. Перед обновлением мода сохраните копии своих песен: менеджер может заменить файлы содержимым нового пакета.
Если трек отсутствует или не загружается, лодки этого типа останутся без музыки; остальные треки продолжат работать. Старый файл music.ogg больше не используется.
Дополнительные песни и F8
Создайте папку tracks рядом с ShipMusic.dll и добавьте туда любые файлы
OGG Vorbis. После добавления перезапустите игру. Например: tracks/01-song.ogg.
Подпапки не сканируются. Треки загружаются в память при запуске; большие плейлисты
потребуют больше памяти и времени загрузки.
Управляя лодкой, нажимайте F8: дополнительные песни переключаются по имени файла, после последней снова включается стандартная песня лодки. Отпустите руль и возьмитесь снова — включится стандартная песня. Простое приближение слушателя к лодке не сбрасывает выбор рулевого. Пассажиры не могут переключать песни.
Выбор рулевого передаётся другим клиентам через состояние его персонажа.
Без режима передачи всем нужны одинаковые файлы в tracks. Если выбранного
файла у слушателя нет, он услышит стандартную песню лодки. Названия выбранных
файлов видны другим клиентам. Версия 0.6.0 также умеет передавать саму запись.
Передача песни рулевого
У рулевого включите ShareMyTracks, у слушателей — ReceiveSharedTracks:
[Sharing]
ShareMyTracks = false
ReceiveSharedTracks = false
MaxTrackSizeMB = 15
CacheSizeMB = 200
UploadLimitKBps = 1024
Обе возможности выключены по умолчанию. Чтобы и передавать, и слушать чужие
песни, поставьте обе настройки в true. Сохранение конфига применяется во время игры.
Всем участникам передачи нужна версия 0.6.0 или совместимая с ней.
Для ускоренной передачи обновите рулевого и слушателей до 0.6.1.
Рулевой передаёт выбранный OGG, в том числе стандартную песню лодки. Слушателю
не нужен исходный файл: запись загружается частями и сохраняется в
BepInEx/cache/ShipMusic/shared-v1. При повторном прослушивании используется кеш,
если запись не была вытеснена. Содержимое проверяется по SHA-256.
Первая загрузка занимает время; пока она идёт, звучит локальная песня. После загрузки позиция рассчитывается по времени начала песни рулевого. Это приблизительное совмещение: точная синхронизация аудио и постоянная коррекция дрейфа не выполняются. Смена песни, отпускание руля и выход слушателя из радиуса загрузки отменяют ненужную передачу.
Запросы выполняются в пределах 50 метров от лодки. Исходящий поток ограничен
настройкой UploadLimitKBps: по умолчанию 1024 КиБ/с суммарно на всех слушателей
(допустимо 64–4096). На медленном соединении уменьшите лимит; он применяется
после сохранения конфига. Один слушатель получает один файл за раз, запрашивая
до 16 частей одновременно без паузы между частями. В симуляции при RTT 100 мс
файл 4 МиБ передался примерно за 4,1 секунды; реальная скорость зависит от сети,
сервера и количества слушателей. Повторное воспроизведение использует кеш.
Размер OGG ограничивается конфигом; старые записи кеша удаляются первыми.
Активные записи могут временно удерживаться при уменьшении лимита кеша.
При запрете приёма, превышении лимитов или ошибке остаётся локальная музыка.
Разрешайте раздачу только записей, которые вы можете передавать другим игрокам.
Громкость
После первого запуска откройте в r2modman:
Config editor → fenikonir.shipmusic.cfg → Audio → Volume
[Audio]
Volume = 50
0 — без звука, 100 — максимальная громкость источника, по умолчанию — 50. Сохраните конфиг и вернитесь в игру: громкость применяется без перезапуска. При нуле трек продолжает идти без звука.
Настройка влияет только на ваш звук. Штатная музыка Valheim продолжает играть; при желании уменьшите её громкость в настройках игры.
Мультиплеер и ограничения
- Мод нужен каждому слушателю. При выключенной передаче нужны также локальные аудиофайлы.
- Используется синхронизированное игрой состояние руля. Отдельная установка на выделенный сервер не требуется.
- Передача включается отдельно у рулевого и слушателей. Если она выключена, установите одинаковые песни вручную.
- В режиме передачи старт выравнивается по сетевому времени; в локальном режиме позиции трека независимы.
- Поддерживаются четыре стандартных типа лодок. Лодки из других модов автоматически не поддерживаются.
Если музыка не играет, проверьте имена и формат файлов, значение Volume и сообщения Ship Music в BepInEx/LogOutput.log.
Дисклеймер о музыке
В текущую версию пакета включены сторонние музыкальные записи, используемые без полученного разрешения или лицензии правообладателей. Автор мода не заявляет права на эти композиции или записи. Все права принадлежат соответствующим правообладателям.
Рекомендуется заменить комплектные треки своей музыкой или записями, лицензия которых разрешает предполагаемое использование, особенно перед публикацией сборок, стримами и видеозаписями. Замена файлов у пользователя не устраняет вопрос прав на записи в опубликованном пакете. Этот дисклеймер не предоставляет разрешение на использование или распространение музыки.
English
A soundtrack that sails with your ship
ShipMusic places an audio source on the boat itself. Version 0.7.0 enables internet radio by default: taking the helm selects a random station matching your genres; releasing it stops the music. F8 selects another station. Local mode supports a separate song for each boat type.
The helmsman, passengers and nearby players on shore can hear the music with the mod installed. Radio requires an internet connection, not local music files. The sound follows the ship and fades with distance.
Features
- Free station discovery through Radio Browser, without an account or API key.
- A configurable mix of Viking, Nordic Folk, Folk Metal and Pagan Metal.
- Automatic playback at the helm; F8 changes station, or song in local mode.
- Music also plays on a stationary ship while someone controls it.
- Spatial audio: selected volume within 10 metres, fading out between 10 and 40 metres.
- One nearest radio source per client; independent looping boat songs in local mode.
- Volume from 0 to 100, with saved configuration changes applied during gameplay.
- Replace every song with your own OGG Vorbis files.
Installation
- Select Valheim and your preferred profile in r2modman.
- Find ShipMusic by Fenikonir under Online and install it with its dependencies.
- Launch the game using Start modded.
- Take the helm of any supported boat.
Package dependency: denikson-BepInExPack_Valheim-5.4.2350. Neither Jötunn nor ConfigurationManager is required.
For a local ZIP, use Settings → Profile → Import local mod. If you previously installed the DLL manually, move the old ShipMusic folder outside BepInEx/plugins before installing through the manager to avoid duplicate copies.
Internet radio: setup and behavior
Open Config editor → fenikonir.shipmusic.cfg:
[Radio]
Enabled = true
Tags = viking,viking metal,nordic folk,folk metal,pagan metal
Saved changes apply live. Tags accepts up to eight comma-separated Radio Browser
genres. The mod picks a random available MP3 station; the broadcaster chooses
the songs. F8 changes stations, not individual songs. Genre tags describe the
station, so other music, presenters and advertisements may appear.
This release supports direct MP3 streams; AAC and HLS stations are excluded.
The captain shares only the station ID. Each listener connects directly to the
broadcaster; audio is not relayed through the game server or saved to disk.
Participants need 0.7.0 with Radio.Enabled=true. ShareMyTracks and
ReceiveSharedTracks apply only to local OGG files. Broadcast delays and
personalized advertisements may differ between listeners.
Audio fades out at 40 m; connections close beyond 50 m or when the helm is released. If several radio boats are nearby, each client listens to the nearest. During buffering or an outage, the local boat song plays if present; otherwise there is silence. Failed connections retry with a delay. Taking the helm joins the current live program, not the beginning of a song. Radio also plays at the helm of a stationary boat.
Use the shared Audio.Volume setting for volume. Set Radio.Enabled=false to
restore local songs and the previous F8 behavior. Manual installations need
the bundled NLayer.dll next to ShipMusic.dll.
Custom music
The following sections describe local mode (Radio.Enabled=false).
Close the game and open your profile folder through r2modman. Under BepInEx/plugins, locate the folder containing ShipMusic.dll. Place these audio files next to the DLL:
| Boat | File name |
|---|---|
| Raft | raft.ogg |
| Karve | karve.ogg |
| Longship | longship.ogg |
| Drakkar | drakkar.ogg |
Use OGG Vorbis audio. Renaming an .mp3 file to .ogg does not convert it. Restart the game after replacing tracks. Back up your custom songs before updating the mod: the manager may overwrite them with files from the new package.
A missing or unreadable track leaves that boat type silent without preventing other tracks from working. The old music.ogg file is no longer used.
Custom playlist and F8
Create a tracks folder next to ShipMusic.dll, add OGG Vorbis files and restart
the game. Example: tracks/01-song.ogg. Subfolders are not scanned. Tracks are
loaded into memory at startup; large playlists need more memory and loading time.
While steering, press F8 to cycle extra songs sorted by filename, then return to the boat default. Release and retake the helm to reset to the default song. A listener moving away and returning does not reset the captain's selection. Passengers cannot change tracks.
The captain's selection is shared through their character's network state.
Without file sharing, listeners need matching files in tracks. A missing selected
file falls back to that listener's boat default. Selected filenames are visible
to other clients. Version 0.6.0 can also transfer the actual recording.
Sharing the captain's recording
Enable ShareMyTracks on the captain's computer and ReceiveSharedTracks on listeners:
[Sharing]
ShareMyTracks = false
ReceiveSharedTracks = false
MaxTrackSizeMB = 15
CacheSizeMB = 200
UploadLimitKBps = 1024
Both features are disabled by default. Set both to true to send and receive.
Saved configuration changes apply during gameplay. Participants need version
0.6.0 or a compatible version.
Update both captain and listeners to 0.6.1 for the faster transfer behavior.
The captain sends the selected OGG, including a boat's default song. Listeners
do not need the original file: chunks are downloaded into
BepInEx/cache/ShipMusic/shared-v1. Repeat plays use the cache unless the file
was evicted. SHA-256 verifies the contents.
The first download takes time; local music plays while it is pending. Once ready, playback seeks to the position calculated from the captain's start time. This is approximate alignment, not sample-accurate synchronization or continuous drift correction. Track changes, releasing the helm and leaving download range cancel transfers that are no longer needed.
Downloads are requested within 50 metres of the ship. Aggregate upload is capped
by UploadLimitKBps: 1024 KiB/s by default, shared across all listeners
(range 64–4096). Lower it on slower connections; saved changes apply live.
Each listener downloads one file at a time with up to 16 chunk requests in flight
and no per-chunk pause. A 4 MiB file took about 4.1 seconds at simulated 100 ms RTT;
actual speed depends on the connection, server and number of listeners.
Repeat plays use the cache. The config
limits OGG size and disk cache size. Old cache files are evicted first; active
files may be retained temporarily after reducing the cache budget. Disabled
reception, exceeded limits or failed transfers fall back to local music.
Only share recordings you are allowed to send to other players.
Volume
After launching the mod once, open:
Config editor → fenikonir.shipmusic.cfg → Audio → Volume
[Audio]
Volume = 50
0 mutes the music, 100 is the maximum source volume, and 50 is the default. Save the configuration and return to the game; the volume changes without a restart. At zero volume, the track continues playing silently.
This setting only affects your own audio. Valheim's regular music continues playing; you can lower it in the game's settings if desired.
Multiplayer and limitations
- Every listener needs the mod. Local audio files are also required when file sharing is disabled.
- The mod reads the game's synchronized helm state. No separate dedicated-server installation is required.
- Sharing requires the captain's send option and the listener's receive option. Otherwise, install matching recordings manually.
- Shared playback is aligned to network time at start; local-only playback positions remain independent.
- The four vanilla boat types are supported. Boats added by other mods are not automatically supported.
If music does not play, check file names, audio format, Volume and the Ship Music messages in BepInEx/LogOutput.log.
Music disclaimer
The current package includes third-party music recordings used without permission or a licence obtained from the rights holders. The mod author claims no ownership of these compositions or recordings. All rights belong to their respective owners.
You are encouraged to replace the bundled tracks with your own music or recordings licensed for your intended use, especially before sharing modpacks, streaming or recording videos. Replacing files on a user's computer does not resolve the rights issue for recordings included in the published package. This disclaimer does not grant permission to use or redistribute the music.


