Problem with a mod? Please read me.

Discussion in 'The Hangar Bay' started by Exacute, Jun 13, 2018.

  1. Exacute

    Exacute Rear Admiral

    Joined:
    Feb 17, 2017
    Messages:
    456
    Likes Received:
    307
    Hi there!

    First of all - You are using mods! Awesome!

    So, Assumingly you are here, because a mod is giving you a hard time.

    The purpose of this thread, is to make the mod creators life easier ~ Most is providing their work for free, so trying to do your part, means that they will have more time being awesome ;)

    When it comes to issues, there's several things you can try yourself. If none of this works, I will touch on what you should always provide, when reporting an issue to a mod-author.

    Self-help

    -First of all, you should make sure, that you are running the latest version of the mod! Go to the mods thread, and consult if there have been any new updates, since you downloaded it.
    Your issue might have been fixed with a mod update.

    -Make sure the mod is 'installed' properly:
    For all mods: The mods files needs to be placed in a folder, under <yourserverpath>/Content/Mods/
    If the Mods folder don't exist, you need to create it yourself.
    For some mods: Some mods needs you to use a specific name for the folder you create in /Mods/, but unless specifically stated in the mods thread, you can name it whatever you want.
    Make sure the folder contains the mods files, which, at the very least, is a .dll file.

    If you are using a custom name for the folder, you should specify something that makes sense, and helps you remember what mod it contains (for instance, if you have downloaded 'deathmessenger v1.1' you might want to call it that, so that you know the version, and the mods name).

    -Make sure there is ONLY ONE .dll file in a mods folder. More will not work. Delete old versions / move them out of the Mods directory.

    -Make sure you have followed any specific install steps, given in the mods thread. Some mods might need you to configure a file beforehand or similar.

    -Make sure the mod is running. Consult the log file, and look for
    -LOG- Loaded mod Mod1 from EmpyrionNotices_v1.0
    (For each mod, it will have a number, Mod5 for instance, and a name, which is the FOLDER NAME you placed it in. If the message 'Loaded mod <> from <>' doesn't appear, you have likely not installed it properly.
    Please make sure, that you placed the mods .dll file, and other files, in a directory, under <yourserverpath>/Content/Mods/

    -Consult the logfile. Most mods output debug messages when something goes wrong. Most of the time, you can get an idea about what went wrong
    (If the mod have a config option 'debug', you should enable it, and try to reproduce the error, and then submit that log file). The log file is always found in <yourserverspath>/Logs/<highestnumber>/Dedicated_<somenumber_somenumbers_somenumbers>.log. The newest file of the 'dedicated_xxx' is the latest.

    If the logfile does not give you a 'human friendly' message, such as 'object reference not set' or similar, you might want to just report it to the mod author.

    If the logfile gives you an error like
    -EXC- YamlDotNet.Core.YamlException: (Line: 4, Col: 10, Idx: 69) - (Line: 4, Col: 10, Idx: 69): Expected 'SequenceStart', got 'MappingStart' (at Line: 4, Col: 10, Idx: 69).
    It is likely a YAML error, meaning if the mod provided .yaml files, and you have configured them, you likely have made a mistake at some point. You should refer to the default template that the mod provided, and try to figure out what is wrong.
    YAML can be a finecky language, and using a 'yamlchecker' doesn't guarantee, that your yaml matches what the mod expects.
    Remember that yaml IS case sensitive, and that it is very prone to errors, if you have too many / too few spaces.

    This isn't exclusive to that exact thing. If something is wrong with the YAML, it will usually be logged like
    -EXC- YamlDotNet.<>
    To attempt to fix YAML yourself, see spoiler:
    Common Yaml-errors:

    - Indentation: Tabulator button
    The basic of yaml, is indentations.
    But unlike most other languages using indentations, YAML is using SPACES for indentation.
    That means, that if you use TAB, and don't use a software that converts that to spaces for yaml, it will crash and burn.
    (If you want to use tab, one suggestion is to use 'Sublime Text Editor', as that converts tabulation to spaces in .yaml files)

    - Indentation: Basics
    Most YAML is built upon the concept, of each 'branch' you go down the 'tree', you use two spaces.
    For instance:

    Code:
    Creator: Exa
    Chapters:
    - ChapterTitle: Sometitle
      ChapterDescription: Somedescription
      StartWhen: Click
    - ChapterTitle: Someothertitle
      ChapterDescription: Someotherdescription
    
    Notice how 'Chapters' is a tag, that allows for subtiers / branches down.
    Each "- " is a branch on 'Chapters' (In this case, it would be a chapter).
    Under the same branch, to give additional attributes, you would use two spaces (" ") to indent.

    - Unmatched categories
    YAML functions by having tags, that either resolves to a value, or to a list.
    This can easily lead to errors however:
    If you do not have any entries under 'Chapters' like

    Code:
    Creator: Exa
    Chapters:
    
    It will not always be handled properly. Depending on who wrote the importing, they might not be expecting this.

    In this case, you should remove the 'Chapters:' entirely.

    Code:
    Creator: Exa
    
    - Unmatched tags
    Similar to the above, if you have a tag like

    Code:
    Creator: Exa
    Chapters:
    - ChapterTitle: Sometitle
    
    It reads 'Chapters' as a list, as there is no value directly to the right of it.

    This means, that if we did something like

    Code:
    Creator:
    
    It would expect the tag 'Creator' to be a list aswell.
    As the 'Creator' is, in this case, expecting a string (of letters), this will likely fail the importing.

    In this case aswell, you should remove the tag entirely, or if you explicitly want it to be blank, you should do

    Code:
    Creator: ""
    
    - Bad spacing
    YAML is very strict with the format. This goes for spacing too. When you create a tag, you must have no spaces to the left of the ":", but you MUST have ONE to the right.

    ie.
    Code:
    Creator :Something
    is bad.
    As is
    Code:
    Creator : Something
    It MUST be
    Code:
    Creator: Something
    - Wrong types
    This can be harder to track down for the user, without any proper documentation on the creators side, but most tags will expect something specific to the right.
    The most common types is
    -Boolean ('True' or 'False')
    -String (anything goes, but if it contains a ':', you need to wrap it in '"', such as 'Sometag: "some:eek:ne"')
    -Integer (number)

    Furthermore, most will expect something from a given list, such as a string might need to be 'known'. Consult given documentation for what you can use in a specific case.
    The same goes for numbers. The YAML might expect something in an interval from x-y (0-10 for instance).

    - Bad comments
    YAML is finnecky with their comments. You can't uncomment a block of text, like you usually would with
    /* */
    You can't do
    //
    either.
    Comments in YAML are made with a # in front
    #this is a comment
    applied it could be:

    Code:
    Creator: Exa #Here you should put the name of who created this
    
    Or if you don't want to use the tag at all, you could do

    Code:
    #Creator: Exa #Here you should put the name of who created this
    
    (Notice, that it doesn't matter if you use several # in a line)

    Most common mistakes when commenting something out happens if you have a list, such as

    Code:
    Creator: Exa
    Chapters:
    - ChapterTitle: Chapter1
      ChapterDescription: Somedescription
    
    If you uncomment it wrong, such as
    Code:
    Creator: Exa
    Chapters:
    #- ChapterTitle: Chapter1
      ChapterDescription: Somedescription
    
    It will not be happy, as it either have a blank entry, or there's nothing to tell the YAML that it is an entry to a list (given that's what is expected)

    Another example would be
    Code:
    Creator: Exa
    
    Uncommented to
    Code:
    Creator: #Exa
    
    This will result in the same mistake, as touched on in "- Unmatched tags"

    - Multiple of the same tag
    As touched on earlier, YAML is a 'nesting language', meaning that you have a category, and one or more entries under it.
    For each entry however, a tag can only be used once.
    Notice in
    Code:
    Creator: Exa
    Chapters:
    - ChapterTitle: Sometitle
      ChapterDescription: Somedescription
      StartWhen: Click
    - ChapterTitle: Someothertitle
      ChapterDescription: Someotherdescription
    
    How 'ChatperTitle' is used twice, but not in the same entry.
    If you were to do
    Code:
    Creator: Exa
    Chapters:
    - ChapterTitle: Sometitle
      ChapterTitle: Sometitle
      ChapterDescription: Somedescription
      StartWhen: Click
    - ChapterTitle: Someothertitle
      ChapterDescription: Someotherdescription
    
    It would almost certainly result in an error, unless the mod developer have gone to great lenghts to prevent it.
    Please avoid using a tag more than once, in the same entry, unless it is specifically stated, that you are able to!

    If the logfile gives you a message like 'something was wrong in <filename>' or something else, you have a pretty good idea where to look.

    If you've come this far - Thank you for doing your part! Assumingly it's not an issue on your part. So let's touch on how you should proceed:

    Please always refer to the mod's specific thread, if there's further help on your issue before posting about it :)

    Help requests / bug reporting

    If you have exhausted all these options, you should always provide:
    -The log file (If the mod have a config option 'debug', you should enable it, and try to reproduce the error, and then submit that log file). The log file is always found in <yourserverspath>/Logs/<highestnumber>/Dedicated_<somenumber_somenumbers_somenumbers>.log. The newest file of the 'dedicated_xxx' is the latest.

    -Possibly what you were doing when the error occured (Did you type a command? Do a task? Something?)

    -If the mod have one, or several, config files, you should provide these, given you have changed anything in them.

    -If the mod makes additional files, the mod author might want these. Please consult the specific mod thread about this (for instance custom log files, .yaml files for players, or other things)

    -Optionally, you should mention what you have tried to fix it yourself, as this can help narrow the issue down.

    -The game version and mod version (the buildnumber your server is running, and the mods version ID, if it tells you. If no mod version id is to be found, you should atleast provide when you downloaded the mod)

    You should follow instructions to contact them, if given in the mods thread. If none is given, and you are fine with publically sharing the files, you should post a reply on the thread.
    If you don't want to share the files (logfiles, special files, etc) publicly, you should write a message to the author on the forum.


    Thank you for helping out the modders!
     
    #1
    Last edited: Jul 24, 2018
    Ephoie and Jascha like this.
  2. joemorin73

    joemorin73 Captain

    Joined:
    Aug 24, 2016
    Messages:
    319
    Likes Received:
    170
    @Jascha
    This should be pinned.
     
    #2
    Ephoie likes this.
  3. Jascha

    Jascha Administrator

    • Moderator
    Joined:
    Jan 22, 2016
    Messages:
    1,141
    Likes Received:
    713
    Done, thanks :)
     
    #3
    Ephoie likes this.
  4. Exacute

    Exacute Rear Admiral

    Joined:
    Feb 17, 2017
    Messages:
    456
    Likes Received:
    307
  5. Xango2000

    Xango2000 Captain

    Joined:
    Jun 15, 2016
    Messages:
    385
    Likes Received:
    202
    There is a space required after : in yaml key value pairs. That's a common mistake too.
     
    #5
    Ephoie and Exacute like this.

Share This Page