[Mod] EmpyrionSpotGuard v2.7.1

Discussion in 'Empyrion API' started by Exacute, Apr 26, 2018.

  1. Xango2000

    Xango2000 Captain

    Joined:
    Jun 15, 2016
    Messages:
    385
    Likes Received:
    202
    If the player to be kicked is:
    Flying, vessel will keep going for awhile

    Raiding a POI, with their vessel parked nearby and the poi regenerates

    Being shot at while in a base/vessel they own, it will get destroyed

    Retrieving their backpack, they lose their backpack

    Redesigning a vessel/base, if they just popped their core to move it then server can remove entity because it has no core
     
    #21
  2. Exacute

    Exacute Rear Admiral

    Joined:
    Feb 17, 2017
    Messages:
    456
    Likes Received:
    307
    Hmm. These are fair points I suppose.
    It will possibly act a little weird, with players 'being there and not', but I can provide it as an option.
     
    #22
  3. Keith Hovey

    Keith Hovey Captain

    Joined:
    May 11, 2016
    Messages:
    221
    Likes Received:
    74
    Well if they are in the middle of battling a POI and get kicked (Has already happened a few times) they lose their ship and whatever it was carrying. Also if they are de-sync'd and get kicked they may be upwards of 1000m from their ship on login.

    Maybe could there be a way to tell people with low rep that they have low reputation on login and warn them server is at the kick cap automatically.

    Another option is to use this work flow:

    Lets assume that there is a max cap of 80 with 10 reserved slots for a total of 70 open slots anyone can populate. When person 71 logs in they immediately get kicked and sent a message stating that they have to wait 3 minutes to log in while we assign them a slot. At that point a low RP member is messaged in game that they have 3 minutes to disconnect. At the 3 minute mark that person gets kicked and the VIP/Reserved slot member can log in.
     
    #23
    Last edited: Jun 8, 2018
  4. Exacute

    Exacute Rear Admiral

    Joined:
    Feb 17, 2017
    Messages:
    456
    Likes Received:
    307
    SpotGuard v1.1 have been released, fixing some minor issues, adding a web based API, aswell as an option to delay kicks from happening.
    Additionally added support for the 's! ' prefix (will not be displayed in chat)

    Please note the new config.yaml flags:
    Code:
    ###=== Api section. If you want to disable the API, please set 'AllowServer' to 'false'. Otherwise please consider specifying a custom API key!!=====###
    AllowServer: true #Boolean, should there be a 'server' running from this mod, listening for external sources
    ServerPort: 8089 #int, which port should the server run on? Remember to portforward this, if you want to be able to use it from a domain or similar.
    ServerAPIkey: somerandomstring #string, if set, will require this in order to execute commands via the server. IF YOU RUN A SERVER YOU SHOULD CHANGE THIS!
    ServerSaveLogfileDir: server #string, which directory do you want this saved to? If you don't want it used, use NA
    MasterAPIkey: somerandomstring #string, if you are using multiple that are running on the same port, this should be used, and specified to whichever is started first of the mods' API-key
    
    DelayKick: 2 # If you want, you can delay a kick from happening (if an user is kicked to make room for another, they will have this many minutes to land their ship / get to a safe spot / logout themself) (default: 2 minutes)
    
    This update also dropped support for A7.x

    If you want to use the API from outside your device, please remember to PORTFORWARD the port you used in the config file.
     
    #24
  5. Exacute

    Exacute Rear Admiral

    Joined:
    Feb 17, 2017
    Messages:
    456
    Likes Received:
    307
    I felt rather inspired, so v1.15 have been pushed aswell:
    This version introduces a new concept 'GracePeriod': If used (default 2 minutes), will allow players to 'save their spot', for this duration. (ie. they count as an online player, untill these minutes have passed). If they rejoin within the allowed time, they can log directly on.
    This is mostly intended to circumvent bugs / the like causing the player to loose their spot. You should set this to a reasonable value, where the user have a chance to log back on. But keep in mind, that this period also counts them 'as if they were online', so if high, might cause other users to not be able to connect.

    Note new Config flag:
    Code:
    GracePeriod: 2 #After an user disconnects, how long should they keep their spot (in minutes). (If they try to relog within this time, they will be allowed online. Note, that they will count as an 'used spot', untill the time have passed).
    
     
    #25
  6. Jaydee

    Jaydee Lieutenant

    Joined:
    Aug 1, 2017
    Messages:
    13
    Likes Received:
    3
    This is one of the best mods out there. Highly recommended!
     
    #26
    Exacute likes this.
  7. Exacute

    Exacute Rear Admiral

    Joined:
    Feb 17, 2017
    Messages:
    456
    Likes Received:
    307
    v1.2 is now Released,
    it's fixing a bug with *some* chatcommands, aswell as adding the option to backup files on server START and STOP to a directory (Highly recommended to do, and enabled by default - This is in case your server does something weird on shutdown, or for whatever reason you would otherwise need to revert back).

    Additionally it introduces a new file called 'Localization.csv'.
    This file (should) contain all the messages that the mod use.
    -If you see one I've missed, please let me know!
    -If you feel like there is better ways of putting some of the messages / spelling errors, please feel free to suggest a change! :)
    -If you want to add an additional language, please do contribute! :D (Keep in mind however, that English is only supported atm, as API doesn't support getting the language setting of the client (as of A8.1))
     
    #27
  8. WolfEyes

    WolfEyes Captain

    Joined:
    Mar 20, 2018
    Messages:
    233
    Likes Received:
    417
    @Exacute

    Would you mind giving me a nutshell run down of the OP, please? It's a bit much for me to take in all at once. From what I did read though, it does look to be the sort of admin tool I've been keeping an eye out for.

    I would appreciate it but I understand if you don't want to.
     
    #28
  9. Exacute

    Exacute Rear Admiral

    Joined:
    Feb 17, 2017
    Messages:
    456
    Likes Received:
    307
    Alright, I'll try..
    It's rather difficult to make it less so, than the first post however ;)

    The base concept is, that you are able to set two limits: One for Normal users, and one for VIP users. (Essentially two pools of spots, for instance 100 total, where 10 is reserved for VIP users, meaning that 90 normal users can connect, and 10 VIP users can)

    If these limits are met, you are able to specify what happens, if a new user is connected. Do they simply get rejected? Or should one currently playing be kicked? (There's several options.. see the config file ;) )

    Addtionally, you can specify if you want to use a whitelist (If so, user must be written to the whitelist, in order to be allowed to connect to the server).. Basically a better 'this server requires a password'. This also supports expiration dates.

    That is the *basic* functionality:
    Past that, you can specify, if you want to kick people for AFK-ing for too long, or if you want to give them a custom message when they log on, or broadcast their logon based on their VIP/rep/admin rank, or execute some command on them on logon, etc.. (You can use any telnet or console command)

    You can tweak a ton of stuff if you so desire.. Pretty much everything is configurable ;)

    Additionally, it tracks these stats of your users (since installing the mod)
    -Their online time
    -When they first logged on
    -When they were last on
    -Their reputation (You can increase it by n, every <interval> if you so desire).. Reputation is a concept that is being expanded further on in upcoming mod(s).
    -Their VIP status, and when it runs out
     
    #29
    WolfEyes likes this.
  10. WolfEyes

    WolfEyes Captain

    Joined:
    Mar 20, 2018
    Messages:
    233
    Likes Received:
    417
    @Exacute

    Wonderful! Thank you so much for the info!

    I do have one question. Will it work on Co-op or only MP? I'm assuming it will work on both?

    I'm hoping so because it sounds like just what I've been looking for. :D
     
    #30
    Exacute likes this.
  11. Exacute

    Exacute Rear Admiral

    Joined:
    Feb 17, 2017
    Messages:
    456
    Likes Received:
    307
    I'm not quite sure why you would want it in a coop setting (all the connection management seems a littleobsolote in this sense, but it allows you the rest sure), but I *think* it does?
    Not certain, but if you can run other mods, you should be able to run SpotGuard ;)
     
    #31
    WolfEyes likes this.
  12. WolfEyes

    WolfEyes Captain

    Joined:
    Mar 20, 2018
    Messages:
    233
    Likes Received:
    417
    I have this hair-brained idea of creating my "universe" in co-op first and having a few people come in to try it out and then if things go well switch it over to MP, if that is possible. :D
     
    #32
    Exacute likes this.
  13. Exacute

    Exacute Rear Admiral

    Joined:
    Feb 17, 2017
    Messages:
    456
    Likes Received:
    307
    Hotfix 1.21 released;
    *Fixed bug: If admin rejoins within the graceperiod, admin priveledges would not be given
    *Removed language debug output (Left in by accident)

    Minor nuissances, but you might want to update nevertheless :)
     
    #33
    WolfEyes likes this.
  14. Exacute

    Exacute Rear Admiral

    Joined:
    Feb 17, 2017
    Messages:
    456
    Likes Received:
    307
    Hotfix 1.22 released;
    *Fixed bug: Sometimes languages would not resolve if a user was *somehow* not recognized by the mod.
    *Fixed bug: Sometimes kick-events would fail, because the user was *somehow* not recognized by the mod.

    App. the API decides quite often to omit the 'player joined' event.
    More fixes to mitigate the damage done by this.

    (In practice, this allowed more players to join, than there should have been.. This hotfix should address that. If your server pop is still somehow above what you have specified in the config files, please do notify me!)
     
    #34
    WolfEyes likes this.
  15. Exacute

    Exacute Rear Admiral

    Joined:
    Feb 17, 2017
    Messages:
    456
    Likes Received:
    307
    Hotfix 1.23 released;
    *Fixed wrong language key:
    KickSpotsfilled should've been KickSpotsfilledNormal
    (It's only a change in localization.csv)

    (This is VERY MINOR. If an user was denied access, because of no open 'normal spots', they would get a MISSING message, rather than the proper error message)
     
    #35
  16. Exacute

    Exacute Rear Admiral

    Joined:
    Feb 17, 2017
    Messages:
    456
    Likes Received:
    307
    Hotfix 1.24 released;
    *Fixed a few language keys missing closing " in localization.csv file
    *Improved importing of Localization.csv file, to handle some edge-cases (Few strings were not imported properly).

    Again rather minor update.
     
    #36
  17. demolish50

    demolish50 Commander

    Joined:
    Dec 8, 2015
    Messages:
    63
    Likes Received:
    23
    As admin, it won't let me run any admin commands. It welcomes me as admin but !spotguard reload for example says I don't have admin.
     
    #37
  18. Exacute

    Exacute Rear Admiral

    Joined:
    Feb 17, 2017
    Messages:
    456
    Likes Received:
    307
    What have you specified in the config file for 'AdminRank' ?
    And what is your admin rank ? (3/6 or 9)
     
    #38
  19. demolish50

    demolish50 Commander

    Joined:
    Dec 8, 2015
    Messages:
    63
    Likes Received:
    23
    AdminRank: 3 -default

    I'm rank 9.
     
    #39
  20. Exacute

    Exacute Rear Admiral

    Joined:
    Feb 17, 2017
    Messages:
    456
    Likes Received:
    307
    Please set the debug flag to 1
    Reproduce the issue
    And send me the latest log in a PM ;)
     
    #40

Share This Page