'''THIS IS ONLY FOR THE DEDICATED SERVER BUILD OF 7DTD! [[PageOutline(2-5,Table of contents,inline)]] == Download == The latest build can be found here: [http://svn.illy.bz/7dtd/binary-improvements/bin/Release/]. You need both the ''7dtd-server-fixes.dll'' and the ''Assembly-CSharp.'''patched'''.dll'' (rename it to ''Assembly-CSharp.dll'' locally). Note that this will only work with the correct version of the 7dtd dedicated server. If they release a new build the files have to updated (should never take longer than 24h from their release). == Build yourself == The ''Assembly-CSharp.dll'' is first deobfuscated with the [https://github.com/DerPopo/deobfuscate-7dtd Deobfuscator]. Then the ''7dtd-server-fixes.dll'' can be build referencing this assembly. At last the deobfuscated ''Assembly-CSharp.dll'' is patched with the [http://svn.illy.bz/7dtd/binary-improvements/assembly-patcher/ Assembly-Patcher] so it calls the new methods in the ''7dtd-server-fixes.dll''. == Features == === New log information === * New entry whenever a player connects combining all the information that previously had to be collected manually. It is printed after ''RequestToSpawnPlayer'' and looks like this: {{{ Player connected, clientid=1, entityid=171, name=alloc, steamid=765611*******172, ip=192.168.1.58 }}} * Each time someone connects on Telnet: {{{ Telnet connection from: 127.0.0.1:45014 }}} * When someone disconnects from Telnet: {{{ Telnet connection closed by client: 127.0.0.1:45014 }}} * When someone executes a command through Telnet: {{{ Telnet executed "gt" from: 127.0.0.1:45014 }}} * When a connected client successfully executes a remote command: {{{ Executed command "lp" from player "Alloc" }}} === New commands (for in-game console, control panel and Telnet) === * ''getgameprefs'' / ''gg'': Get all server preferences (no parameters passed) or just those that contain the strning that is passed. This can be used to give all users access to read the server settings (e.g. land claim size) (see Admins.xml below). Only non-sensitive information can be accessed, so excluded are all preferences which contain the following strings: * Telnet * AdminFileName * ControlPanel * Password * SaveGameFolder * Options {{{ gg claim LandClaimDeadZone = 30 LandClaimDecayMode = 0 LandClaimExpiryTime = 3 LandClaimOfflineDurabilityModifier = 4 LandClaimOnlineDurabilityModifier = 4 LandClaimSize = 7 }}} * ''gettime'' / ''gt'': Get the current in-game time like this one: {{{ Day 18, 14:13 }}} * ''kill'': Kill a player denoted by his name or entity id * ''listlandprotection'' / ''llp'': Lists all land protection blocks and their owners (name only shown when owner is online): {{{ Player " (76561198066968172)" (protected: True, current hardness multiplier: 4): (1249, 60, -21) Total of 1 keystones in the game }}} * ''listplayersextended'' / ''lpe'': Similar to ''listplayers'' but with more information on each player (deaths, zombie kills, player kills, score, IP, ping), looking like this: {{{ 1. id=171, Alloc, pos=(902.0, 61.0, -353.7), rot=(0.0, -91.4, 0.0), remote=True, health=32, deaths=2, zombies=0, players=0, score=0, steamid=76561198066968172, ip=192.168.1.58, ping=43 }}} * ''removelandprotection'' / ''rlp'': Removes the association between a given land protection block and its owner so it can be easily removed * ''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. * ''settimereal'' / ''str'': Set the in-game time by number of days, hours, minutes * ''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: 064 * brickDecayedTan 064 * concreteBlock 064 * quarterBlock 064 * wedgeWoodWhiteShinglesAlsphalt Bagpack of player: 031 * canBeef 001 * firstAidBandage 032 * painkillers 001 * PumpShotgun 064 * tallGrassDiagonal2 }}} * ''version'': Show the currently running version of the server fixes === Admins.xml === * Commands with permission level set to >= 1000 can be executed by all players. This is useful e.g. for the new ''getgameprefs'' command. * Commands not defined in ''admins.xml'' at all automatically has permission level 0 * A command set in ''admins.xml'' affects both and long version. E.g. having the following in ''admins.xml'' will set the permisisonlevel to ''1'' for both ''lp'' and ''listplayers'': {{{ }}} === Replaced Telnet server === * Should be way more stable * Handles disconnect of clients without sending ''exit'' * Allows multiple connections at once (though output for one client is sent to all) * If no password is set in ''TelnetPassword'' the Telnet server only listens on the loopback interface! * Greeting message contains new line ''*** Allocs server fixes loaded'' * Output of a command run by a single Telnet client is only sent to this one client == Release Notes == === [https://7dtd.illy.bz/browser/binary-improvements?rev=117 rev. 117] === * Updated for A9 (server build 356618) === [https://7dtd.illy.bz/browser/binary-improvements?rev=114 rev. 114] === * Added console command ''version'' === [https://7dtd.illy.bz/browser/binary-improvements?rev=113 rev. 113] === * Added console command ''listlandprotection'' / ''llp'' * Added console command ''removelandprotection'' / ''rlp'' === [https://7dtd.illy.bz/browser/binary-improvements?rev=112 rev. 112] === * Command ''sayplayer'' / ''pm'' changed: Ignores color codes in player names === [https://7dtd.illy.bz/browser/binary-improvements?rev=110 rev. 110] === * Fixed minor bug in ''reply'' / ''re'' === [https://7dtd.illy.bz/browser/binary-improvements?rev=108 rev. 108] === * Added console command ''reply'' / ''re'' === [https://7dtd.illy.bz/browser/binary-improvements?rev=107 rev. 107] === * Console output of the Web control panel and each Telnet client is separated === [https://7dtd.illy.bz/browser/binary-improvements?rev=106 rev. 106] === * Updated for server build 334790 === [https://7dtd.illy.bz/browser/binary-improvements?rev=103 rev. 103] === * Command ''sayplayer'' changed: Added short version ''pm'' * Command ''sayplayer'' changed: Sender is now denoted as stated in the description above so this command can be used as a PM function for players * All code that could ever produce errors is now doing exception handling so it should at least never affect the game/server itself. === [https://7dtd.illy.bz/browser/binary-improvements?rev=100 rev. 100] === * Updated for server build 333545 === [https://7dtd.illy.bz/browser/binary-improvements?rev=98 rev. 98] === * Fixed: inventory with multiple stacks of the same item causing an exception === [https://7dtd.illy.bz/browser/binary-improvements?rev=96 rev. 96] === * Fixed: New commands get registered even if Telnet is not enabled * Fixed: The actual dedi server DLL is used now === [https://7dtd.illy.bz/browser/binary-improvements?rev=93 rev. 93] === * Added console command ''showinventory'' / ''si'' === [https://7dtd.illy.bz/browser/binary-improvements?rev=91 rev. 91] === * Added Telnet welcome message line: ''*** Allocs server fixes loaded'' * Command ''getgamepref'' changed: First parameter may just be a substring of prefs, like "claim" * Command ''listplayersextended'': Added output field "ping" === [https://7dtd.illy.bz/browser/binary-improvements?rev=86 rev. 86] === * Console commands allowed by admins.xml affect both short and long versions === [https://7dtd.illy.bz/browser/binary-improvements?rev=84 rev. 84] === * Added console command ''settimereal'' / ''str'' * Changed behaviour of Admins.xml (see features) === [https://7dtd.illy.bz/browser/binary-improvements?rev=83 rev. 83] === * Added console command ''sayplayer'' * Added logging output for remote command execution from clients === Initial release ([https://7dtd.illy.bz/browser/binary-improvements?rev=81 rev. 81]) ===