'''THIS IS ONLY FOR THE DEDICATED SERVER BUILD OF 7DTD! [[PageOutline(2-5,Table of contents,inline)]] == NOTE AGAIN == '''[[Dedicated Server Build| 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 [http://leafletjs.com/ 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 " (PM)" where 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 }}} == Release Notes == Versions in brackets are: ''CommandExtensions''_''CommonFunc''_''WebAndMapRendering'' === [https://7dtd.illy.bz/browser/binary-improvements?rev=TBD rev. TBD] (TBD) (2017-07-XX) === * 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 "\/" * Commands updated to v13: * Fixed ''give'' A16.2 compatibility === [https://7dtd.illy.bz/browser/binary-improvements?rev=301 rev. 301] (12_14_19) (2017-01-03) === * CommonFunc updated to v14: * Changed totalPlayTime calculation code to fix compatibility with recent Unity versions === [https://7dtd.illy.bz/browser/binary-improvements?rev=299 rev. 299] (12_13_19) (2016-12-14) === * Commands updated to v12: * Fixed ''give'': Was broken when specifying a quality * WebMap updated to v19: * Code: * Updated MapRendering code to use a coroutine instead of a timer which was causing some issues * Web page: * Added some day information to the stats on the upper left (day of week, days til horde night etc) === [https://7dtd.illy.bz/browser/binary-improvements?rev=297 rev. 297] (11_13_18) (2016-10-26) === * Commands updated to v11: * Changed ''showinventory'': In tagged output mode prints an output termination like this: "tracker_item id=''171'', tag=''tagName'', SHOWINVENTORY DONE" * WebMap updated to v18: * Web page: * Added meta header for IE === [https://7dtd.illy.bz/browser/binary-improvements?rev=293 rev. 293] (10_13_17) (2016-09-25) === * '''Only compatible with A15 and newer''' * Commands updated to v10: * Fixed ''give'': Support quality for items that have parts or attachments (thanks to Coppi :) ) * WebMap updated to v17: * Code: * Fixed error loading item icons in A15 (may have added regressions for mod icons) * Web page: * Added option to index.js to hide the navbar on page load === [https://7dtd.illy.bz/browser/binary-improvements?rev=289 rev. 289] (9_13_16) (2016-07-18) === * CommonFunc updated to v13: * Added useTime related stuff to persistent data for Coppi's mod * Commands updated to v9: * Fixed ''listknownplayers'': Allow lookup of players by their SteamID * CoppisAdditions removed: Including that will cause all sorts of trouble/confusion as they're also updated by Coppi himself. Download can be found in [https://7daystodie.com/forums/showthread.php?44835-Coppi-MOD-New-features his thread] * WebMap updated to v16: * Code: * Fixed error shown when webserver is accessed while 7dtd is still starting up * Web page: * Added last online tooltip to show actual date instead of pretty printed value in table === [https://7dtd.illy.bz/browser/binary-improvements?rev=283 rev. 283] (8_12_15_2) (2016-06-19) === * CommonFunc updated to v12: * Minor internal updates * CoppisAdditions updated to v2: * Fixed ''givexp'' * Added ''ss'' as an intermediate workaround for the non-functional ''spawnscouts'' command from the game until A15 is released * Fixed spelling: ''to'''o'''glechatcommandhide'' to ''to'''g'''glechatcommandhide'' * WebMap updated to v15: * Code: * Added API ''executeconsolecommand'': Executes a console command and returns result. Uses the same permission checks as would apply to any ingame user * Added API ''getallowedcommands'': Retrieves a list of all console commands that can be executed with the current user permissions * Added API ''getplayerlist'': Retrieves a list of all players, optionally filtered and sorted, with definable results per page and page number. Will be extended upon in the future. * Added API ''getserverinfo'': Retrieve the server information as reported to the master server list * Made APIs ''getstats'' and ''getwebuiupdates'' usable by anyone by default unless explicitly set to a stricter permission * Web page: * Added first draft of player list tab === [https://7dtd.illy.bz/browser/binary-improvements?rev=277 rev. 277] (8_11_14_1) (2016-05-19) === * WebMap updated to v14: * Changed APIs ''getplayersonline'' and ''getplayerslocation'': Added field "ping" * Added API ''getserverinfo'': Reports current info on the server === [https://7dtd.illy.bz/browser/binary-improvements?rev=276 rev. 276] (8_11_13_1) (2016-05-18) === * CommonFunc updated to v11: * Fixed player level calculation === [https://7dtd.illy.bz/browser/binary-improvements?rev=273 rev. 273] (8_10_13_1) (2016-05-11) === * Added Coppi's stuff as a fourth module "CoppisAdditions", v1: * Chat filter functionality, controlled with the commands below * Command ''muteplayerchat'': Mute a player on public chat * Command ''playerchatmaxlength'': Set the maximum number of characters a player can write in a single message. Default is 255 for every player. * Command ''tooglechatcommandhide'': Specify a chat message prefix that defines chat commands that are hidden from chat * Command ''givexp'': Give XP for a skill to a player * Command ''listplayerbed'': List bed locations of a single player or all online players * Command ''listplayerfriends'': List friends of a single player or all players * Command ''physics'': Enable / disable physics on blocks that you are placing / removing * Command ''sayplayer2'': Send a message to a single player with a specific sender name * Command ''spawnhorde'': Spawn horde near a player or coordinate * Command ''spawnmultipleentity'': Spawn multiple entities around some coordinate or player * Command ''spawnscouts'': Spawn scouts near a player or coordinate * Command ''teleportplayerhome'': Teleport a player to his home / bedroll * Command ''unlockall'': Unlock all secure loots, chests and doors for the current player * Commands updated to v8: * Changed ''listitems'': Now also accepts "*" as search mask, showing all items * Changed ''listlandprotection'': Added optional parameter "parseable" to get programmatically parseable output * Changed ''showinventory'': Added optional tag parameter. If a tag is given it will be included in each line of the output, which will be in a parseable format instead of easily readable * Fixed ''repairchunkdensity'' help text * CommonFunc updated to v10: * Changed log output on player connect: Added Steam owner ID === [https://7dtd.illy.bz/browser/binary-improvements?rev=272 rev. 272] (7_9_13) (2016-04-28) === * WebMap mod updated to v13: * Code: * Fixed Log page * Changed API ''getplayerslocation'' and ''getplayersonline'': Added ''totalplaytime'' and ''lastonline'' (#127) * Web map servers transparent tiles instead of 404 when block has no image yet (#124) * Commands updated to v7: * Fixed ''removelandprotection'' * Fixed chat related stuff for A14.6 b26 * Added ''repairchunkdensity'' * CommonFunc updated to v9: * Fixed chat related stuff for A14.6 b26 === [https://7dtd.illy.bz/browser/binary-improvements?rev=256 rev. 256] (6_8_12) (2016-02-07) === * WebMap mod updated to v12: * Web page: * Changed player popups to show coordinates without "/" so they can directly be copy+pasted for teleport etc (by [https://7daystodie.com/forums/member.php?112591-God-Almighty God Almighty]) * Added SteamID to inventory dialog (by [https://7daystodie.com/forums/member.php?112591-God-Almighty God Almighty]) === [https://7dtd.illy.bz/browser/binary-improvements?rev=254 rev. 254] (6_8_11) (2015-12-24) === * WebMap mod updated to v11: * Code: * Fixed icon loading when multiple items use the same icon+tint combination === [https://7dtd.illy.bz/browser/binary-improvements?rev=253 rev. 253] (6_8_10) (2015-12-12) === * Only compatible with A13 and newer * WebMap mod updated to v10: * Web page: * Users with ''webapi.getlandclaims'' permission can always view their own claims, users who also have ''webapi.viewallclaims'' can view all claims like before (by [https://7daystodie.com/forums/member.php?101833-psouza4 psouza4]) * Users with ''webapi.getplayerslocation'' permission can always view their own position, users who also have ''webapi.viewallplayers'' can view all players like before (by [https://7daystodie.com/forums/member.php?101833-psouza4 psouza4]) * Added new map options ''Animals'' and ''Hostiles'' (by [https://7daystodie.com/forums/member.php?101833-psouza4 psouza4]) * Fixed item display with custom icons (#119) or tints * Code: * Added API ''getanimalslocation'': Get a list of all (currently loaded) animals on the server (by [https://7daystodie.com/forums/member.php?101833-psouza4 psouza4]) * Added API ''gethostilelocation'': Get a list of all (currently loaded) AI hostiles on the server (by [https://7daystodie.com/forums/member.php?101833-psouza4 psouza4]) * Commands updated to v6: * Added ''buffplayer'' and ''debuffplayer'': Give a buff or remove a buff from a remote player * CommonFunc updated to v8: * Refactorings and backend additions for the new features above === [https://7dtd.illy.bz/browser/binary-improvements?rev=250 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 (thanks to ''Coppi'' for the code change ideas): * 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 (thanks to ''Coppi'' for the code change ideas): * Log item quality and parts === [https://7dtd.illy.bz/browser/binary-improvements?rev=249 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) === [https://7dtd.illy.bz/browser/binary-improvements?rev=247 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 ([[Integrated Webserver#Permissions|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 * '''IMPORTANT:''' Only use with 14.6 b26 and higher === [https://7dtd.illy.bz/browser/binary-improvements?rev=243 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 === [https://7dtd.illy.bz/browser/binary-improvements?rev=242 rev. 242] (0.12.0.0) === * WebMap mod updated to v5: Fixed item icon loading === [https://7dtd.illy.bz/browser/binary-improvements?rev=238 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) === [https://7dtd.illy.bz/browser/binary-improvements?rev=236 rev. 236] (0.11.6.0) === * Updated for Alpha 11.6 (server build ''658147'') === [https://7dtd.illy.bz/browser/binary-improvements?rev=235 rev. 235] (0.11.5.0) === * Updated for Alpha 11.5 (server build ''639339'') === [https://7dtd.illy.bz/browser/binary-improvements?rev=233 rev. 233] (0.11.4.0) === * Updated for Alpha 11.4 (server build ''605981'') === [https://7dtd.illy.bz/browser/binary-improvements?rev=232 rev. 232] (0.11.3.0) === * Fixed show inventory === [https://7dtd.illy.bz/browser/binary-improvements?rev=230 rev. 230] (0.113.5586.28926) === * Fixed exceptions === [https://7dtd.illy.bz/browser/binary-improvements?rev=230 rev. 230] (0.113.5586.27633) === * Fixed exceptions === [https://7dtd.illy.bz/browser/binary-improvements?rev=230 rev. 230] (0.113.5586.25212 2nd build) === * Updated web mod to v.2, fixes endless exceptions in log === [https://7dtd.illy.bz/browser/binary-improvements?rev=230 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''' === [https://7dtd.illy.bz/browser/binary-improvements?rev=228 rev. 228] (0.112.5577.41143) === * Updated for Alpha 11.2 (server build ''583520'') * Fixed IP output === [https://7dtd.illy.bz/browser/binary-improvements?rev=227 rev. 227] (0.111.5572.35274) === * Updated AllocsCommands mod: Fixes command ''teleport'' (#99) === [https://7dtd.illy.bz/browser/binary-improvements?rev=226 rev. 226] (0.111.5572.35274) === * Updated for Alpha 11.1 (server build ''578130'') * Also removed protect-file that accidentally slipped into last archive. === [https://7dtd.illy.bz/browser/binary-improvements?rev=224 rev. 224] (0.110.5570.39924) === * Updated for Alpha 11 (server build ''576370'') === [https://7dtd.illy.bz/browser/binary-improvements?rev=222 rev. 222] (0.104.5471.24501) === * Updated for Alpha 10.4 b10 hotfix (server build ''480993'') === [https://7dtd.illy.bz/browser/binary-improvements?rev=218 rev. 218] (0.104.5466.33703) === * Updated for Alpha 10.4 b9 hotfix (server build ''478721'' and ''478809'') === [https://7dtd.illy.bz/browser/binary-improvements?rev=216 rev. 216] (0.104.5465.40278) === * Updated for Alpha 10.4 (server build ''477715'') === [https://7dtd.illy.bz/browser/binary-improvements?rev=213 rev. 213] (0.103.5461.3294) === * Updated for Alpha 10.3 b12 hotfix (server build ''471956'') === [https://7dtd.illy.bz/browser/binary-improvements?rev=211 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 ;) ''' === [https://7dtd.illy.bz/browser/binary-improvements?rev=208 rev. 208] (0.102.5448.37821) === * Updated for Alpha 10.2 (server build ''459429'') === [https://7dtd.illy.bz/browser/binary-improvements?rev=206 rev. 206] (0.100.5442.30220) === * Updated for Alpha 10.1 (server build ''454117'') * Command ''listplayerids'' / ''lpi'' added === [https://7dtd.illy.bz/browser/binary-improvements?rev=205 rev. 205] (0.100.5439.41910) === * Updated for Alpha 10 (server build ''451483'') * Command ''listplayersextended'' / ''lpe'' removed: Now integrated with the vanilla ''lp'' command === [https://7dtd.illy.bz/browser/binary-improvements?rev=202 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 === [https://7dtd.illy.bz/browser/binary-improvements?rev=199 rev. 199] (0.93.5378.41731) === * Updated map rendering + webserver so that hopefully all "sharing access violation"s are gone === [https://7dtd.illy.bz/browser/binary-improvements?rev=198 rev. 198] (0.93.5378.21429) === * Command ''unban'' actually registered in game ;) === [https://7dtd.illy.bz/browser/binary-improvements?rev=197 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 [[Server fixes#Newloginformation|New log information]]) === [https://7dtd.illy.bz/browser/binary-improvements?rev=196 rev. 196] (0.93.5375.21616) === * Added console command ''unban'' === [https://7dtd.illy.bz/browser/binary-improvements?rev=194 rev. 194] (0.93.5374.40502) === * Updated for A9.3 b5 (server build 385244) === [https://7dtd.illy.bz/browser/binary-improvements?rev=192 rev. 192] (0.93.5373.21892) === * Minor bug fix for map rendering === [https://7dtd.illy.bz/browser/binary-improvements?rev=190 rev. 190] (0.93.5369.22980) === * Further Telnet stability improvements === [https://7dtd.illy.bz/browser/binary-improvements?rev=189 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 === [https://7dtd.illy.bz/browser/binary-improvements?rev=188 rev. 188] (0.93.5366.36263) === * Allow setting different rendering settings (run server with this version once, shut down, edit /map/mapinfo.js) * WARNING: This can have a serious impact on server performance! Will be optimized later on. === [https://7dtd.illy.bz/browser/binary-improvements?rev=185 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 === [https://7dtd.illy.bz/browser/binary-improvements?rev=183 rev. 183] (0.93.5365.36355) === * Multithreaded Telnet server (hopefully lowering CPU usage a bit) === [https://7dtd.illy.bz/browser/binary-improvements?rev=180 rev. 180] (0.92.5364.31430) === * Updated for A9.3 (server build 375426)