About this Section!

Discussion in 'Empyrion API' started by Jascha, Mar 14, 2017.

Tags:
Thread Status:
Not open for further replies.
  1. Jascha

    Jascha Administrator

    • Moderator
    Joined:
    Jan 22, 2016
    Messages:
    1,141
    Likes Received:
    713
    Hey fellow survivors,

    this is our New API section with an example project for the Empyrion API!

    This section is for API-Developers who want to create their own tool.
    All finished tools will be posted in "The Hangar Bay"

    Example Empyrion API project


    What is it?
    It should help you understand how the API for Empyrion works and give you all you need to build your own tool.

    EPM.png

    What is it not?
    This project is very basic and does not follow any code standards.
    Its also not a finished API, nor are all functions implemented. This is your job ;).

    What do I need?
    The project is made in C# and VS 2015.

    How can I install the API?
    The API is made of 2 parts. The Game-Part (Empyrion Mod or EPM) and the Tool-Part (Empyrion Network Relay Client)

    The Game-Part (EPM)
    This is a DLL that is used by the Game to communicate with your end.
    It needs to be located in the following folder:
    ...\Empyrion - Dedicated Server\Content\Mods\

    Here you can create a folder for your Mod and place your Mod.DLL in it (no special naming required).
    For example, like we do it with EAH at the moment: ...\Empyrion - Dedicated Server\Content\Mods\EPM\EPM.dll

    Be aware: The server needs to restart each time you replace this dll!

    The Tool-Part (Tool)
    This is your actual tool.
    In our example here it will act as client and listen to the EPM.

    How does the API work?
    As mentioned above it is made of two parts that communicate over a tcp-connection.
    The Game directly uses the EPM and will send events to the listening side (tool).
    The tool can then work with those events.
    You can also send requests to the EPM (and therefore to the Game). The Game will then execute them and (depending on the request) send you the things you asked for or an error.

    The interface to access the functions and classes is found here:
    ...\Empyrion - Dedicated Server\EmpyrionDedicated_Data\Managed\Mif.dll
    You need to make a reference to that dll (in the example project a copy is in the "dependencies" folder)

    More details will follow in a proper documentation...one day.

    Download
    GuitHub
    Here you can find different examples and could even upload your own mods. Just make sure to add a licence.

    Feedback
    Feel free to leave your feedback in the feedback thread. We will see how/if we can implement those features/changes in the API/Game in the future.
    Please keep your feedback constructive. This thread is not about Game-Features but about API-Features that influence the game.

    Updates
    As soon as the API-Interface changes we will let you know and explain the new functions.
    All updates of the Interface are shipped with the game (Mif.dll).

    Wiki
    Still in progress, but you can find it here.

    Can I help?
    Yes, please.
    We are currently working on so many fronts that we would really appreciate any help.
    For this project we have specific needs:

    1) Documentation :)
    A detailed documentation will follow one day, but if you want to help out: Great!

    Feel free to contact me or update the Wiki yourself.

    What if I created my own tool?
    Please create a thread in "The Hangar Bay".
    If you want your tool to be pinned to the top of the forum pm me please.
    If to many tools are pinned we will created one pinned thread with a list of all available tools.

    -------------------

    We are looking forward to many new tools for the community!
    Let the code-battle begin ;)

    Thanks to the amazing Devs of Empyrion and our wonderful community!
     
    #1
    Last edited: Aug 15, 2017
    elinox, Myrmidon, Random and 2 others like this.
Thread Status:
Not open for further replies.

Share This Page