Skip to content

AMacro/dv-multiplayer

 
 

Repository files navigation

Contributors Forks Stargazers Issues Apache 2.0 License

Derail Valley Multiplayer

A Derail Valley mod that adds multiplayer.

Report Bug · Request Feature · Discord

Table of Contents
  1. About The Project
  2. Roadmap
  3. Building
  4. Contributing
  5. Translations
  6. License

Important!

At present, assume all other mods are incompatible! Some mods may work, but many do cause issues and break multiplayer capabilities.

Our primary focus is to have the vanilla game working in multiplayer; once this is achieved we will then work on compatibility with other mods, dedicated servers and company modes.

Installation

If you are only intending to use the mod and not work on the code, it is recommended you download from the Nexus Mods page. Unity Mod Manager is required to use this mod.

About The Project

Multiplayer is a Derail Valley mod that adds multiplayer to the game, allowing you to play with your friends.

It works by having one player host a game, and then other players can join that game.

This fork is a continuation of Insprill's amazing efforts.

Roadmap

For a list of planned features, see the project board.
The mod will be released on Nexus once it's ready.

Building

Before you can build Multiplayer, you'll need to either: a) Build the Unity project. or b) Copy multiplayer.assetbundle, MultiplayerEditor.dll and UnityChan.dll from the released binaries to the build directory.

Building Unity Assets

  1. Install Unity Editior 2019.4.40f1
  2. Open the MultiplayerAssets folder in Unity 2019.4.40f1
  3. Click on the Multiplayer > Build Asset Bundle and Scripts menu item. The asset file and dlls will be compiled and copied to the build directory

Once the Unity project is compiled, you can build the mod.

  1. In the main project folder copy Directory.Build.targets.EXAMPLE and rename the copy to Directory.Build.targets.
  2. Open Directory.Build.targets in your favourite text editor and update the paths for DvInstallDir and UnityInstallDir. If you are NOT using a code signing certificate, leave the Cert-Thumb attribute blank, otherwise, ensure the SignToolPath is correct and the Cert-Thumb matches the thumbprint of your certificate. Example Directory.Build.targets:
<Project>
    <PropertyGroup>
        <DvInstallDir>C:\Program Files (x86)\Steam\steamapps\common\Derail Valley</DvInstallDir>
        <UnityInstallDir>C:\Program Files\Unity\Hub\Editor\2019.4.40f1\Editor</UnityInstallDir>
        <ReferencePath>
            $(DvInstallDir)\DerailValley_Data\Managed\;
            $(DvInstallDir)\DerailValley_Data\Managed\UnityModManager\;
            $(UnityInstallDir)\Data\Managed\
        </ReferencePath>
        <AssemblySearchPaths>$(AssemblySearchPaths);$(ReferencePath);</AssemblySearchPaths>
		<SignToolPath>C:\Program Files (x86)\Microsoft SDKs\ClickOnce\SignTool\</SignToolPath>
		<Cert-Thumb>2ce2b8a98a59ffd407ada2e94f233bf24a0e68b9</Cert-Thumb>
    </PropertyGroup>
</Project>
  1. Install xmldoc2md from the AMacro repository, unless the official repo has been updated with PR #45.
  2. Open the Multiplayer solution and compile (solution may need to be compiled a couple of times for all errors to clear.

Notes:

  • Debug builds will output a harmony.log.txt to the desktop
  • Release builds will be signed (if code signing is available) and packaged.

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create.
Any contributions you make are greatly appreciated!
If you're new to contributing to open-source projects, you can follow this guide.

Translations

Special thanks to those who have assisted with translations - Apologies if I've missed you, drop me a line and I'll update this section. If you'd like to help with translations, please create a pull request or send a message on our Discord channel.

Translator Language
Ádi Hungarian
My Name Is BorING Chinese (Simplified)
Harfeur French

License

Code is distributed under the Apache 2.0 license.
See LICENSE for more information.

About

A Derail Valley mod adding multiplayer to the game.

Resources

License

Stars

Watchers

Forks

Sponsor this project

Contributors

Languages

  • C# 89.7%
  • ShaderLab 6.0%
  • Rust 1.1%
  • PHP 1.1%
  • HLSL 1.1%
  • PowerShell 1.0%