wiki:Server fixes

Version 111 (modified by Alloc, 9 years ago) (diff)

--

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

Table of contents

  1. NOTE AGAIN
  2. Download
  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. Release Notes
    1. rev. 250 (5_7_9) (2015-08-12)
    2. rev. 249 (4_6_8) (2015-08-07)
    3. rev. 247 (4_6_7)
    4. rev. 243 (0.12.0.0)
    5. rev. 242 (0.12.0.0)
    6. rev. 238 (0.12.0.0)
    7. rev. 236 (0.11.6.0)
    8. rev. 235 (0.11.5.0)
    9. rev. 233 (0.11.4.0)
    10. rev. 232 (0.11.3.0)
    11. rev. 230 (0.113.5586.28926)
    12. rev. 230 (0.113.5586.27633)
    13. rev. 230 (0.113.5586.25212 2nd build)
    14. rev. 230 (0.113.5586.25212)
    15. rev. 228 (0.112.5577.41143)
    16. rev. 227 (0.111.5572.35274)
    17. rev. 226 (0.111.5572.35274)
    18. rev. 224 (0.110.5570.39924)
    19. rev. 222 (0.104.5471.24501)
    20. rev. 218 (0.104.5466.33703)
    21. rev. 216 (0.104.5465.40278)
    22. rev. 213 (0.103.5461.3294)
    23. rev. 211 (0.103.5459.40864)
    24. rev. 208 (0.102.5448.37821)
    25. rev. 206 (0.100.5442.30220)
    26. rev. 205 (0.100.5439.41910)
    27. rev. 202 (0.93.5409.27239)
    28. rev. 199 (0.93.5378.41731)
    29. rev. 198 (0.93.5378.21429)
    30. rev. 197 (0.93.5377.34787)
    31. rev. 196 (0.93.5375.21616)
    32. rev. 194 (0.93.5374.40502)
    33. rev. 192 (0.93.5373.21892)
    34. rev. 190 (0.93.5369.22980)
    35. rev. 189 (0.93.5368.20218)
    36. rev. 188 (0.93.5366.36263)
    37. rev. 185 (0.93.5365.39558)
    38. rev. 183 (0.93.5365.36355)
    39. rev. 180 (0.92.5364.31430)

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.

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
    
  • teleportplayer / tele: Teleport a given player to a position or player

Release Notes

Versions in brackets are: CommandExtensions_CommonFunc_WebAndMapRendering

rev. 250 (5_7_9) (2015-08-12)

  • WebMap mod updated to v9:
    • Web page:
      • Added Log view
      • Added quality information to player inventory dialog
      • Fixed player marker popup closing itself on data updates (hacky, clean solution requires Leaflet 1 which is still beta)
      • Further refactorings
    • Code:
      • Added API getlog: Get a list of server log lines
      • Added API getwebuiupdates: Get information about what has been updated (currently only used for showing number of new log entries)
      • Changed API getplayerinventory: Minor changes in format (same for bag/belt and equipment), added quality and qualitycolor information
  • Commands updated to v5:
    • Changed give: Added a second variant which allows to specify item quality
    • Changed showinventory: Also output equipment and item qualities and parts
    • Changed teleportplayer: Added a third variant which allows to teleport relatively to the current player position (e.g. just go 10m below the current position by tp 0 -10 0)
  • CommonFunc updated to v7:
    • Log item quality and parts

rev. 249 (4_6_8) (2015-08-07)

  • WebMap mod updated to v8:
    • Web page:
      • Updated design, thanks to Ynd21 for the ideas
      • Added checkbox to auto-reload tiles in a specified interval. Function can be disabled or minimum interval / default interval set in map.js line 78 and following (new L.Control.ReloadTiles ...)
      • Fixed player marker clustering when players move towards each other or get farther apart
      • Added GameTime control for webmap if having the menu bar is undesired, can be added by to map by uncommenting map.js line 102 (new L.Control.GameTime ...)
      • Added Login control for webmap if having the menu bar is undesired, not used by default
      • Further refactorings
    • Code:
      • Added web page login logging (print IP, SteamID, permission level)

rev. 247 (4_6_7)

  • WebMap mod updated to v7:
    • Web page:
      • Please excuse the terrible styling, in my dev branch it's even worse but this makes it easier for me to properly position elements ;)
      • Added Steam authentication
      • Added permission system (see here for further details)
      • Added game time display
      • Added player equipment display
      • Added last click position display
    • Commands:
      • Added webpermission to list/specify permissions required for individual parts of the webpage
      • Added webtokens to list/manage web tokens required for tool based access
    • Code:
      • Added player equipment to WebAPI getplayerinventory
      • Added WebAPI getstats, currently returning game time and current player count
      • Refactored JS code
  • Core mod updated to v6: Added player equipment logging

rev. 243 (0.12.0.0)

  • WebMap mod updated to v6: Added title tag to icon fields in Inventory Viewer (thanks to Martin for the suggestion)
  • Core mod updated to v5: Fixed ListItems / Give for A12.3

rev. 242 (0.12.0.0)

  • WebMap mod updated to v5: Fixed item icon loading

rev. 238 (0.12.0.0)

  • Updated for Alpha 12 (server build 682942)
  • Added chat hook example (type "/alloc" in chat)
  • Fixed "last seen" value not getting updated on banned players etc
  • Added command exportitemicons
  • Added help texts to commands
  • Slightly improved performance of map rendering code
  • ItemIcons for the webmap are now directly loaded from the game data
  • No more deobfuscation required, mod works directly with the vanilla files (ideally no more need to update this mod on game updates though of course bigger changes can still require an update in the mod)

rev. 236 (0.11.6.0)

  • Updated for Alpha 11.6 (server build 658147)

rev. 235 (0.11.5.0)

  • Updated for Alpha 11.5 (server build 639339)

rev. 233 (0.11.4.0)

  • Updated for Alpha 11.4 (server build 605981)

rev. 232 (0.11.3.0)

  • Fixed show inventory

rev. 230 (0.113.5586.28926)

  • Fixed exceptions

rev. 230 (0.113.5586.27633)

  • Fixed exceptions

rev. 230 (0.113.5586.25212 2nd build)

  • Updated web mod to v.2, fixes endless exceptions in log

rev. 230 (0.113.5586.25212)

  • Updated for Alpha 11.3 (server build 593110)
  • REMOVE ALL OLD FILES FROM THE MODS-FOLDER PRIOR TO APPLYING THIS ONE

rev. 228 (0.112.5577.41143)

  • Updated for Alpha 11.2 (server build 583520)
  • Fixed IP output

rev. 227 (0.111.5572.35274)

  • Updated AllocsCommands mod: Fixes command teleport (#99)

rev. 226 (0.111.5572.35274)

  • Updated for Alpha 11.1 (server build 578130)
  • Also removed protect-file that accidentally slipped into last archive.

rev. 224 (0.110.5570.39924)

  • Updated for Alpha 11 (server build 576370)

rev. 222 (0.104.5471.24501)

  • Updated for Alpha 10.4 b10 hotfix (server build 480993)

rev. 218 (0.104.5466.33703)

  • Updated for Alpha 10.4 b9 hotfix (server build 478721 and 478809)

rev. 216 (0.104.5465.40278)

  • Updated for Alpha 10.4 (server build 477715)

rev. 213 (0.103.5461.3294)

  • Updated for Alpha 10.3 b12 hotfix (server build 471956)

rev. 211 (0.103.5459.40864)

  • Updated for Alpha 10.3 (server build 471356)

EDIT: THIS IS ACTUALLY FOR DEDI BUILD 471352, SO DO NOT WONDER WHY I POSTED THE WRONG ONE ABOVE ;)

rev. 208 (0.102.5448.37821)

  • Updated for Alpha 10.2 (server build 459429)

rev. 206 (0.100.5442.30220)

  • Updated for Alpha 10.1 (server build 454117)
  • Command listplayerids / lpi added

rev. 205 (0.100.5439.41910)

  • Updated for Alpha 10 (server build 451483)
  • Command listplayersextended / lpe removed: Now integrated with the vanilla lp command

rev. 202 (0.93.5409.27239)

  • Webserver core updated for better performance / less problems
  • Command listlandprotection changed: If run from the game's console it accepts the parameter "nearby" an optionally an distance

rev. 199 (0.93.5378.41731)

  • Updated map rendering + webserver so that hopefully all "sharing access violation"s are gone

rev. 198 (0.93.5378.21429)

  • Command unban actually registered in game ;)

rev. 197 (0.93.5377.34787)

  • Commands give and listitems changed: Now should work for all things in creative menu
  • Player inventory is monitored for stacksizes greater than the allowed size for each item (see New log information)

rev. 196 (0.93.5375.21616)

  • Added console command unban

rev. 194 (0.93.5374.40502)

  • Updated for A9.3 b5 (server build 385244)

rev. 192 (0.93.5373.21892)

  • Minor bug fix for map rendering

rev. 190 (0.93.5369.22980)

  • Further Telnet stability improvements

rev. 189 (0.93.5368.20218)

  • Command teleportplayer / tele changed: Second parameter can be another player now
  • Made Telnet interface robust against errors in core commands (like buff)
  • Telnet ignores empty lines

rev. 188 (0.93.5366.36263)

  • Allow setting different rendering settings (run server with this version once, shut down, edit <save>/map/mapinfo.js)
    • WARNING: This can have a serious impact on server performance! Will be optimized later on.

rev. 185 (0.93.5365.39558)

  • Web interface no longer depends on CP enabled (only on existence of the "webserver" folder)
  • Login attempt limiting on Telnet

rev. 183 (0.93.5365.36355)

  • Multithreaded Telnet server (hopefully lowering CPU usage a bit)

rev. 180 (0.92.5364.31430)

  • Updated for A9.3 (server build 375426)