wiki:Server fixes

Version 162 (modified by Alloc, 5 years ago) (diff)

--

THIS IS ONLY FOR THE DEDICATED SERVER BUILD OF 7DTD!

Table of contents

  1. NOTE AGAIN
  2. Download
    1. Old releases
  3. Build yourself
  4. Features
    1. New log information
    2. Integrated Webserver for administration
    3. Map rendering
    4. New commands (for in-game console, control panel and Telnet)
  5. 7 Days to Die vs Mod version compatibility
  6. Release Notes
    1. rev. YYY (18_21_31) (2019-01-YY) ToBeReleased
    2. rev. 343 (18_20_30) (2018-12-12)
    3. rev. 341 (17_20_30) (2018-12-12)
    4. rev. 340 (16_19_29) (2018-11-21)
    5. rev. 338 (16_19_28) (2018-11-21)
    6. rev. 336 (16_18_27) (2018-11-20)
    7. rev. 334 (15_18_27) (2018-11-16)
    8. rev. 322 (14_17_26) (2018-06-20)
    9. rev. 318 (14_17_25) (2018-04-19)
    10. rev. 316 (14_17_24) (2018-04-06)
    11. rev. 315 (14_17_23) (2018-01-31)
    12. rev. 311 (14_16_22) (2017-08-26)
    13. rev. 309 (14_16_21) (2017-08-09)
    14. rev. 307 (13_15_20) (2017-08-02)
    15. Older releases?

NOTE AGAIN

This mod is only for the dedicated server build

Download

The latest build can be found here: http://illy.bz/fi/7dtd/server_fixes.tar.gz.

Note that this might break on new versions of the 7dtd dedicated server. If they release a new build check if there's also an update for the mod.

Once downloaded unpack the archive to your server folder so you get a Mods folder in the server root folder.

Old releases

If you need an older release, e.g. because you want to run an older version of the game, you can download them from the same folder as the latest http://illy.bz/fi/7dtd/.

Build yourself

  • Get the project from the SVN https://svn.illy.bz/7dtd/binary-improvements (e.g. with TortoiseSVN if you are on Windows)
  • Copy the files given in the 7dtd-binaries/README.txt from the game to that folder
  • Open the project, change whatever you want, build
  • Copy the Mods folder to your game root folder

Features

New log information

  • When a player has a stack in his inventory which exceeds the official stack size limit for that item:
    Player with ID 171 has stack for "stick" greater than allowed (2000 > 250)
    

Integrated Webserver for administration

See Integrated Webserver for more information.

Map rendering

The map is rendered to image files as people visit the different places. Those images are stored within the save game folder in a folder named map. This folder contains one subfolder per zoom level, 0 being the most zoomed out whereas currently 4 is the normal size. In each of them are folders for the X coordinates of the blocks which contain individual images for the Y coordinates:

 SaveGame/
     map/
         0/             # 0 being the zoom level
             -3/        # -3 is the block number in x-direction (west to east)
                 5.png  # 5 is the block number in y-direction (south to north)

The map will be rendered while people wander around but if you want to initially get everything mapped that has been visited prior to adding this mod (or prior to rev.131 which introduced this feature) you might want to run the command "rendermap". NOTE that this will take a long time to execute (in the minutes) depending on how big the visited map is so far. During this time the server can not be used for playing or any commands.

The generated map file structure can be used to show the map with tools like Leaflet. The integrated webserver will also show this map.

New commands (for in-game console, control panel and Telnet)

  • give: Give an item to a player
  • listitems / li: List items that can be given with give
  • listknownplayers / lkp: List all players that have ever been online (since this version of the mod)
  • listlandprotection / llp: Lists all land protection blocks and their owners (name only shown when owner is online) or only those that are owned by a given player (steamid or entity/name if online) or show a summary of players and number of keystones used only (by passing "summary"):
    Player " (76561198066968172)" (protected: True, current hardness multiplier: 4):
       (1249, 60, -21)
    Total of 1 keystones in the game
    
  • removelandprotection / rlp: Removes the given land protection block or all blocks of a given player.
  • rendermap / rm: Render the map as far as it was ever visited by any player to both a big file and many small tiles that can be used for a map viewer like Leaflet. WARNING: This command can take a long time to execute (like 5 to 30 minutes) and the server won't be usable at that time for anything else!
  • reply / re: Send a message to the player who last sent you a private message (see sayplayer / pm).
  • sayplayer / pm: Send a message to a single player denoted by his name or entity id. Will be shown on receiver side as "<sender> (PM)" where <sender> is either "Server" if sent through the control panel or Telnet interface or the name of the sending player if used by the in game console.
  • showinventory / si: List the inventory/belt content of a player denoted by his name or entity id. Note that this data is only updated every 30s when the client sends his current state. Sample output:
    Belt of player:
        Slot 1: 001 * bottledWater
        Slot 2: 001 * canChili
        Slot 3: 001 * firstAidBandage
    
    Bagpack of player:
        Slot 0: 031 * canBeef
        Slot 4: 001 * firstAidBandage
        Slot 5: 032 * painkillers
        Slot 12: 001 * PumpShotgun
        Slot 31: 064 * tallGrassDiagonal2
    

7 Days to Die vs Mod version compatibility

7 Days to Die Mod version Mod SVN revision
A9 (server build 363156) rev. 127 - 163
A9 (server build 356618) rev. 117 - 123
(server build 334790) rev. 106 - 114
(server build 333545) rev. 100 - 103

Release Notes

Versions in brackets are: CommandExtensions_CommonFunc_WebAndMapRendering

rev. YYY (18_21_31) (2019-01-YY) ToBeReleased

  • CommonFunc updated to v21:
    • Fixed: Players added to map even if they never actually fully joined the server
  • WebMap updated to v31
    • Fixed: Player inventory screen not respecting A17's new bag size (9*5 instead of 8*4)
    • Fixed: rendermap throwing (irrelevant) warnings, rendermap not cleaning up properly after finishing
    • Fixed: Marker clustering on high zoom levels
    • Changed: Trying to execute a non-existing command through the Web API will return HTTP code 404 instead of 501

rev. 343 (18_20_30) (2018-12-12)

  • Commands updated to v18:
    • Fixed: Quality parameter on give command

rev. 341 (17_20_30) (2018-12-12)

  • Only compatible with A17.0 b221 and newer
  • No new functions, this is just a compatibility update

rev. 340 (16_19_29) (2018-11-21)

  • WebMap updated to v29
    • Fixed: Permissions

rev. 338 (16_19_28) (2018-11-21)

  • CommonFunc updated to v19:
    • Fixed: Location of persistent data file
  • WebMap updated to v28
    • Fixed: Location of web map files

rev. 336 (16_18_27) (2018-11-20)

  • Commands updated to v16:
    • Fixed: Sending PMs

rev. 334 (15_18_27) (2018-11-16)

  • Only compatible with A17.0 and newer
  • No new functions, this is just a compatibility update
  • I plan to get some tickets done next week but can not promise anything

rev. 322 (14_17_26) (2018-06-20)

  • WebMap updated to v26:
    • Code:
      • Added API getplayerinventories: Single request to get inventories of all currently online players (thanks to Prisma501 for providing the base code) (#114)
    • Web Page:
      • Fixed menu expand button being behind the map
      • Fixed XSS attacks by Steam profile name (#152)

rev. 318 (14_17_25) (2018-04-19)

  • WebMap updated to v25:
    • Code:
      • Added option to debug OpenID issues with command line argument "-debugopenid"
      • Also added as console command "openiddebug" (with parameters 0/1)

rev. 316 (14_17_24) (2018-04-06)

  • WebMap updated to v24:
    • Code:
      • Fixed Steam OpenID login

rev. 315 (14_17_23) (2018-01-31)

  • CommonFunc updated to v17:
    • Internal: Refactored common code
    • Internal: Fixed JSON encoding for empty arrays/objects
  • WebMap updated to v23:
    • Code:
      • Fixed validation of Steam OpenID server's SSL certificate
      • Changed API getplayerslocation: Removed unused fields ip, entityid, totalplaytime, lastonline, ping (both for traffic reduction as well as data protection)
      • Changed API getplayerslocation: Only transfer state of offline players when the HTTP query parameter "offline=true" is added (heavily reduces traffic on highly frequented servers)
    • Web Page:
      • Updated to Leaflet 1.2 (many thanks to ecv :) )
      • Fixed: Mrker handling to not close+reopen popups
      • Changed: Centering markers on the map as long as the popup is open

rev. 311 (14_16_22) (2017-08-26)

  • WebMap updated to v22:
    • Added X-Forwarded-Proto use when forwarding from a proxy with SSL enabled

rev. 309 (14_16_21) (2017-08-09)

  • Commands updated to v14:
    • Internal: Fixed chat code hanging onto ClientInfo objects
  • CommonFunc updated to v16:
    • Internal: Improved JSON library
  • WebMap updated to v21:
    • Fixed players list showing wrong last online times
    • Removed some debugging-only log output
    • Internal: Fixed some dead code

rev. 307 (13_15_20) (2017-08-02)

  • Only compatible with A16.2 and newer
  • WebMap updated to v20:
    • Fixed API getplayersonline A16 compatibility
    • Changed API executeconsolecommand: Added optional parameters raw and simple - raw returns the command output as a simple string, simple returns it as a JSON string. Leaving both out returns the full JSON object with command, arguments and result like before
    • Changed API executeconsolecommand: Additional log output for command execution duration is now hidden when HideCommandExecutionLog is set to 1 or greater
    • Fixed loading item icons when mods override vanilla icons
    • JSON encoding: No longer escapes the forward slash "/" with "\/"
    • Fixed new animals (bear, wolf, snake) not showing on map
  • Commands updated to v13:
    • Fixed give A16.2 compatibility
    • Changed removelandprotection: Added nearby parameter with optional square size
    • Changed give and listitems to use the games own data instead of a local item name list

Older releases?