This is a wrapper for the Empyrion Mod API and a system to run mods without having to restart the game server. It uses the existing TCP port used by EAH to connect to the game server.
- Clone the code (recursively to include submodules). Don't just download a .zip of the code.
- Load up in Visual Studio 2017
- Build all.
After building, the \NetworkConnectedModRunner\bin\Release (or Debug) folder will contain the .exe which will load an run any *Mod.dll found in the Extensions folder (or 1 folder deeper). Make sure you configure the Settings.yaml file to point to the API port used by EAH.
Send bugs or send pull requests with any improvements, modules, or documentation.
Module | Description |
---|---|
BankTransferMod | Lets players transfer funds to each other. |
FactionStorageMod | Lets players in the same faction access a shared storage area. |
NoKillZonesMod | Lets admins jail and release players from a configured jail location. Also puts players in jail who kill other players in "protected" areas. |
PlayfieldStructureRegenMod | Regenerates POIs or asteriods when a playfield is loaded. |
ServerPlaytimeRewardsMod | Gives a configured amount of XP points to every player every configured amount of minutes while they are logged in. |
ShipBuyingMod | Lets players buy ships for credits. |
StarterShipMod | Grants each player a one-time ship. |
StarterCreditsMod | Grants each player a one-time award of credits. |
StructureOwnershipMod | It gives periodic rewards to any faction that captures the core of configured ships/buildings. You then use /income to take out the items you've earned. The idea is that it gives purpose in PVP to take over bases in space/planet. It also reduce the need to use autominers as you could capture a "steel block" factory or something. |
VotingRewardMod | Calls empyrion-servers.com REST API to give configured rewards to players every day they vote. |
SellToServer | (Deprecated as it's a part of game now) Lets you configure an area where you can type /sell and sell items back to the server for credits. Prices are configured in yaml (including a default price if you want to accept any item). |
DiscordBotMod | (Deprecated as it's a part of EAH now) Connects in-game general chat to a specific channel in your Discord server. Two-way communication. |
FactionPlayfieldKickerMod | (Deprecated as it's a part of EAH now) Keeps people not belonging to a specifc faction out of a playfield if they try to warp in. |
- Navigate to https://discordapp.com/developers/applications/me
- Select and create a new App
- Enter in the application name for your mod
- Enter in a description
- Select Create App
- After your application has been created you will see the settings screen for your application,
scroll down and in the Bot section click on
Create a Bot User
- You will get a warning message stating that your bot will be visible after it's created.
Go ahead and click
Yes, do it
.
- After your bot has been created you need to aquire your token. Click on reveal token.
- Copy your token to the clipboard
- Paste it in your DiscordBotMod_Settings.yaml file in the DiscordToken property.
- Back in discord go into the user settings and select the
Appearance
category. Scroll down to where it says advanced and tick theDeveloper Mode
option on.
- With the channel that you want the bot to be in, right click it and select
Copy ID
- Paste the ID in the ChannelId property in DiscordBotMod_settings.yaml
- In visual studio right make sure your build configuration is set to
Release
- Right click on your DiscordBotMod project and select build.
- in the Build directory
EmpyrionNetworkConnectedMods\NetworkConnectedModRunner\bin\Release\Extensions
you will see aDiscordBotMod
folder. Copy that to your clipboard.
17 in the Mod directory of Empyrion Empyrion\Content\Mods
paste the built directory you've copied from the previous
step