Isalof Posted August 27, 2014 Share Posted August 27, 2014 I have a question regarding the new "Map rendering" feature. As I understand it, the map folder should be created automatically and the according map png's are palced into the map folder of the instance while players are running around? ("The map is rendered to image files as people visit the different places. "). Or is the map folder only created with the png's if and when I call the rendermap command? I ask because I restarted my instance with the newest script version and the map folder is not being created Link to comment Share on other sites More sharing options...
Alloc Posted August 27, 2014 Author Share Posted August 27, 2014 Yup, it should create everythig automatically. But I did not yet create an updated scripts bundle, so unless you manually added the DLLs it won't be in there Created a new bundle now with the current DLLs. If it still does not work check the logs for errors. Link to comment Share on other sites More sharing options...
Isalof Posted August 27, 2014 Share Posted August 27, 2014 Haha ok will do, I just read the release page which I always have opened and assumed I must have updated it to that version some time =D Great Job again in any case Link to comment Share on other sites More sharing options...
Zodiac13 Posted August 27, 2014 Share Posted August 27, 2014 A friend of mine is trying to set up 7dtd on a linux based dedicated server and he is having trouble keeping the telnet connection open so that he is able to restart the server without having to resort to using root commands. Any suggestions? Link to comment Share on other sites More sharing options...
Alloc Posted August 27, 2014 Author Share Posted August 27, 2014 As the Telnet interface is part of the engine you can't "keep it open" during a restart. So for now it really resolves to using a login on the machine and issue the command to (stop & ) start the server. If you want to allow that for non-root you might consider going with a sudoers entry that only allows running "7dtd.sh start" (and optionally "7dtd.sh stop" if you want to shutdown from within the console). Link to comment Share on other sites More sharing options...
KaXaK Posted August 28, 2014 Share Posted August 28, 2014 Hi, I am trying to compile (svn ver.140/visual studio 2012) 7dtd-server-fixes.dll from the server-fixes.sln but it is missing a file named 'src\CustomCommands\EnableRendering.cs'. Many thanks for this awesome script. ^^ Link to comment Share on other sites More sharing options...
Alloc Posted August 28, 2014 Author Share Posted August 28, 2014 Oh, yeah, forgot to add that one to versioning when commiting last time Done Link to comment Share on other sites More sharing options...
qriff Posted August 28, 2014 Share Posted August 28, 2014 As you said you could not easily use the telnetCommand function (or any other provided by the scripts) but well, as long as I don't write everything in PHP (which obviously won't happen as that language isn't made for the given tasks ) there's no way around that if you want to use the functions. But you should be able to relatively easily set up a connection to the Telnet port with the PHP sockets stuff. So I've been succesfully running PHP scripts in your evented .sh scripts with the #!/usr/bin/php shebang with the assistance of https://github.com/ngharo/Random-PHP-Classes/blob/master/Telnet.class.php . <basedir>/hooks/playerConnect/ping.sh #!/usr/bin/php <?php require_once('class-telnet.php'); .... $telnet = new Telnet('127.0.0.1','8081',10,''); $ping = getPing($argv[6]); $country = geoip_country_name_by_name($argv[6]); $telnet->exec('Welcome, '.$argv[4].'. Your ping is '.$ping.'ms ('.$country.')'; ?> And your done, the same goes for all other hooks like responding to chat /commands and cron for timed server messages. (remember cron doesn't unfortunately support incrementals so running something every 43 minutes actually only runs once an hour at 43 minutes past the hour, instead of 0:43, 1:26, 2:09, 2:52, etc... I'm not quite sure why but it sounds so retarded that there has to be a really, really, really absolute reason for it. Marvels of *nix I guess.) Link to comment Share on other sites More sharing options...
Alloc Posted August 28, 2014 Author Share Posted August 28, 2014 So I've been succesfully running PHP scripts in your evented .sh scripts with the #!/usr/bin/php shebang with the assistance of https://github.com/ngharo/Random-PHP-Classes/blob/master/Telnet.class.php . That's nice =) Thanks for posting this so others can use it too =) But could it be you're missing a "say " in your telnet->exec line? (remember cron doesn't unfortunately support incrementals so running something every 43 minutes actually only runs once an hour at 43 minutes past the hour, instead of 0:43, 1:26, 2:09, 2:52, etc... I'm not quite sure why but it sounds so retarded that there has to be a really, really, really absolute reason for it. Marvels of *nix I guess.) No way for such value, but you can do things like "every 20 minutes": */20 * * * * ... See here for more details (first answer is a really good one ): Run Cron job every N minutes plus offset Link to comment Share on other sites More sharing options...
qriff Posted August 28, 2014 Share Posted August 28, 2014 And maybe Alloc could modify /usr/local/lib/7dtd/commands/stop.sh with maxwait=15 for servers that run a bit larger maps/userbases and giving additional mercy for badly behaving 7dtd processes. Link to comment Share on other sites More sharing options...
qriff Posted August 28, 2014 Share Posted August 28, 2014 But could it be you're missing a "say " in your telnet->exec line? True, poorly redacted code, sorry. Thanks to you we now also have "pm" so it won't flood the chat for other players. No way for such value, but you can do things like "every 20 minutes" This is the fundamental windmill I try to fight against =) If you have multiple servers with services that process something every 20 minutes (three times an hours, or less if more often) then it eventually causes waves in all services (simultanious execution). While if they could all randomize the timer with x minutes on every run then it would even out. I believe this will eventually play a notable role with Internet of Things where a huge amount of devices poll and process for stuff all the time (not that it wouldn't happen already). I would love to know the answer why it has never been implemented, I can't imagine how hard it could be (I'm not assuming it can't be, just can't imagine why it is). - - - Updated - - - btw. Any possibility of getting "cm" per user only? (haven't tested yet, sorry) why is it session bound? Link to comment Share on other sites More sharing options...
Alloc Posted August 28, 2014 Author Share Posted August 28, 2014 (edited) But you read the stackoverflow answer? You can do stuff like 5-59/20 which would be 5, 25, 45. If you use different starting values for each instance you'll get different times within the hour (That way you can even be sure that at no time they overlap whereas with some weird intervals like 43 over the whole day two events could occur at the same time if they reach a common multiple ) btw. Any possibility of getting "cm" per user only? (haven't tested yet, sorry) why is it session bound? Nope, not for the short term. It's the way the engine tells the clients about the server settings. Edited August 28, 2014 by Alloc (see edit history) Link to comment Share on other sites More sharing options...
qriff Posted August 28, 2014 Share Posted August 28, 2014 (edited) Actually while we're at it, it seems that the in-game TAB view shows some internal ping between the game daemon and the player (application). And since "most" players have their ICMP protocol blocked on their router or ISP NAT gateway it would be both reliable and uniform to have an additional hook event parameter of application ping (connect via UDP). http://stackoverflow.com/questions/9841635/how-to-ping-a-server-port-with-php and http://www.slashroot.in/what-tcp-ping-and-how-it-used gets quite complicated to just accomplish what has already been calculated. At least my server has had a lot of issues with high ping asian and russian players laging the server. Fortunately I have the opportunity to geoip block the countries. There also seems to be a charset mismatch between the internal server chat messages (Jan†sûû joined the game) supporting unicode and telnet/hooks not supporting them (Jan+s joined the game). At least I can't figure how to get it working. Edited August 28, 2014 by qriff typos (see edit history) Link to comment Share on other sites More sharing options...
Alloc Posted August 29, 2014 Author Share Posted August 29, 2014 Re:Ping: You can just use "listplayersextended" (lpe) to get the ping. I think that's better than passing more and more stuff in hooks. There also seems to be a charset mismatch between the internal server chat messages (Jan†sûû joined the game) supporting unicode and telnet/hooks not supporting them (Jan+s joined the game). Yeah, Telnet does use a different encoding ... But the hooks should receive the correct name as it's read from the log and that should be fine. Link to comment Share on other sites More sharing options...
Koolio Posted August 29, 2014 Share Posted August 29, 2014 hmm cannot connect to my server anymore.. ConnectionFailed updated scripts to v.50 still no.. haven't changed config side since it was last working.. renamed teh world to generate a new world. still no dice Link to comment Share on other sites More sharing options...
Koolio Posted August 29, 2014 Share Posted August 29, 2014 Also 2014.08.29 13:21:36: GamePref.AdminFileName = admins.xml 2014.08.29 13:21:36: GamePref.AirDropFrequency = 16 2014.08.29 13:21:36: GamePref.AutopilotMode = 0 2014.08.29 13:21:36: GamePref.BlockDurabilityModifier = 100 2014.08.29 13:21:36: GamePref.BuildCreate = False 2014.08.29 13:21:36: GamePref.ConnectToServerIP = 127.0.0.1 2014.08.29 13:21:36: GamePref.ConnectToServerPort = 25000 2014.08.29 13:21:36: GamePref.ControlPanelEnabled = False 2014.08.29 13:21:36: GamePref.ControlPanelPassword = <stripped> 2014.08.29 13:21:36: GamePref.ControlPanelPort = <stripped> 2014.08.29 13:21:37: GamePref.CraftTimer = 0 2014.08.29 13:21:37: GamePref.CreateLevelDim = 6 2014.08.29 13:21:37: GamePref.CreateLevelName = My Level 2014.08.29 13:21:37: GamePref.DayCount = 3 2014.08.29 13:21:37: GamePref.DayNightLength = 45 2014.08.29 13:21:37: GamePref.DebugMenuEnabled = False 2014.08.29 13:21:37: GamePref.DebugMenuShowTasks = False 2014.08.29 13:21:37: GamePref.DebugStopEnemiesMoving = False 2014.08.29 13:21:37: GamePref.DedicatedServer = True 2014.08.29 13:21:37: GamePref.DisableNAT = True 2014.08.29 13:21:37: GamePref.DropOnDeath = 1 2014.08.29 13:21:37: GamePref.DropOnQuit = 0 2014.08.29 13:21:37: GamePref.DynamicSpawner = 2014.08.29 13:21:37: GamePref.EnemyDifficulty = 0 2014.08.29 13:21:37: GamePref.EnemySenseMemory = 60 2014.08.29 13:21:37: GamePref.EnemySpawning = True 2014.08.29 13:21:37: GamePref.EnemySpawnMode = 3 2014.08.29 13:21:37: GamePref.FavoriteServersList = 2014.08.29 13:21:37: GamePref.FragLimit = 5 2014.08.29 13:21:37: GamePref.FriendlyFire = False 2014.08.29 13:21:37: GamePref.GameDifficulty = 2 2014.08.29 13:21:37: GamePref.GameMode = GameModeSurvivalMP 2014.08.29 13:21:37: GamePref.GameName = <stripped> 2014.08.29 13:21:37: GamePref.GameVersion = Alpha 9.1 2014.08.29 13:21:37: GamePref.GameWorld = Random Gen 2014.08.29 13:21:37: GamePref.JoiningOptions = True 2014.08.29 13:21:37: GamePref.LandClaimDeadZone = 15 2014.08.29 13:21:37: GamePref.LandClaimDecayMode = 0 2014.08.29 13:21:37: GamePref.LandClaimExpiryTime = 5 2014.08.29 13:21:37: GamePref.LandClaimOfflineDurabilityModifier = 128 2014.08.29 13:21:37: GamePref.LandClaimOnlineDurabilityModifier = 128 2014.08.29 13:21:37: GamePref.LandClaimSize = 15 2014.08.29 13:21:37: GamePref.LootAbundance = 150 2014.08.29 13:21:37: GamePref.LootRespawnDays = 3 2014.08.29 13:21:37: GamePref.LootTimer = 0 2014.08.29 13:21:37: GamePref.MatchLength = 15 2014.08.29 13:21:37: GamePref.MaxSpawnedZombies = 100 2014.08.29 13:21:37: GamePref.NightPercentage = 32 2014.08.29 13:21:37: GamePref.OptionsAA = 1 2014.08.29 13:21:37: GamePref.OptionsAmbientVolumeLevel = 0.2 2014.08.29 13:21:37: GamePref.OptionsDeferredLighting = True 2014.08.29 13:21:37: GamePref.OptionsFieldOfView = 60 2014.08.29 13:21:37: GamePref.OptionsImageEffects = False 2014.08.29 13:21:37: GamePref.OptionsInvertMouse = False 2014.08.29 13:21:37: GamePref.OptionsLODDistance = 0.6 2014.08.29 13:21:37: GamePref.OptionsMicVolumeLevel = 0.75 2014.08.29 13:21:37: GamePref.OptionsMouseSensitivity = 6 2014.08.29 13:21:37: GamePref.OptionsMusicVolumeLevel = 0.1 2014.08.29 13:21:37: GamePref.OptionsOverallAudioVolumeLevel = 1 2014.08.29 13:21:37: GamePref.OptionsPlayerModel = playerMale 2014.08.29 13:21:37: GamePref.OptionsPlayerModelTexture = Player/Male/Player_male 2014.08.29 13:21:37: GamePref.OptionsReflectiveWater = True 2014.08.29 13:21:37: GamePref.OptionsShadowDistance = 2 2014.08.29 13:21:37: GamePref.OptionsViewDistance = 9 2014.08.29 13:21:37: GamePref.OptionsVoiceChatEnabled = False 2014.08.29 13:21:37: GamePref.OptionsVoiceVolumeLevel = 0.75 2014.08.29 13:21:37: GamePref.PlayerAutologin = False 2014.08.29 13:21:37: GamePref.PlayerDamageGiven = 2 2014.08.29 13:21:37: GamePref.PlayerDamageRecieved = 2 2014.08.29 13:21:37: GamePref.PlayerId = 2014.08.29 13:21:37: GamePref.PlayerName = Player 2014.08.29 13:21:37: GamePref.PlayerPassword = 2014.08.29 13:21:37: GamePref.PlayerToken = 2014.08.29 13:21:37: GamePref.RebuildMap = False 2014.08.29 13:21:37: GamePref.SaveGameFolder = /home/sdtd/instances/Zone 2014.08.29 13:21:37: GamePref.SelectionContextMode = 0 2014.08.29 13:21:37: GamePref.SelectionOperationMode = 0 2014.08.29 13:21:37: GamePref.ServerIP = 2014.08.29 13:21:37: GamePref.ServerIsPublic = True 2014.08.29 13:21:37: GamePref.ServerMaxPlayerCount = 12 2014.08.29 13:21:37: GamePref.ServerName = <stripped> 2014.08.29 13:21:37: GamePref.ServerPassword = 2014.08.29 13:21:37: GamePref.ServerPasswordCache = 2014.08.29 13:21:37: GamePref.ServerPort = 25000 2014.08.29 13:21:37: GamePref.ShowFriendPlayerOnMap = True 2014.08.29 13:21:37: GamePref.TelnetEnabled = True 2014.08.29 13:21:37: GamePref.TelnetPassword = <stripped> 2014.08.29 13:21:37: GamePref.TelnetPort = <stripped> 2014.08.29 13:21:37: GamePref.VACEnabled = True 2014.08.29 13:21:37: GamePref.ZombiePlayers = True 2014.08.29 13:21:37: GamePref.ZombiesRun = 0 2014.08.29 13:21:37: GameStat.AirDropFrequency = 0 2014.08.29 13:21:37: GameStat.BlockDurabilityModifier = 1 2014.08.29 13:21:37: GameStat.CraftTimer = 1 2014.08.29 13:21:37: GameStat.CurrentRoundIx = 0 2014.08.29 13:21:37: GameStat.DayLimitActive = False 2014.08.29 13:21:37: GameStat.DayLimitThisRound = 0 2014.08.29 13:21:37: GameStat.Difficulty = 2 2014.08.29 13:21:37: GameStat.DropOnDeath = 1 2014.08.29 13:21:37: GameStat.DropOnQuit = 0 2014.08.29 13:21:37: GameStat.EnemyCount = 0 2014.08.29 13:21:37: GameStat.EnemyDifficulty = Normal 2014.08.29 13:21:37: GameStat.EnemySenseMemory = 60 2014.08.29 13:21:37: GameStat.EnemySpawnMode = 3 2014.08.29 13:21:37: GameStat.FragLimitActive = False 2014.08.29 13:21:37: GameStat.FragLimitThisRound = 0 2014.08.29 13:21:37: GameStat.GameModeId = 0 2014.08.29 13:21:37: GameStat.GameState = 0 2014.08.29 13:21:37: GameStat.GlobalMessageToShow = 2014.08.29 13:21:37: GameStat.IsCreativeMenuEnabled = False 2014.08.29 13:21:37: GameStat.IsFlyingEnabled = False 2014.08.29 13:21:37: GameStat.IsFriendlyFire = True 2014.08.29 13:21:37: GameStat.IsPlayerCheckDone = False 2014.08.29 13:21:37: GameStat.IsPlayerCollisionEnabled = True 2014.08.29 13:21:37: GameStat.IsPlayerDamageEnabled = True 2014.08.29 13:21:37: GameStat.IsResetMapOnRestart = False 2014.08.29 13:21:37: GameStat.IsSaveSupplyCrates = True 2014.08.29 13:21:37: GameStat.IsSpawnEnemies = True 2014.08.29 13:21:37: GameStat.IsSpawnNearOtherPlayer = False 2014.08.29 13:21:37: GameStat.IsTeleportEnabled = False 2014.08.29 13:21:37: GameStat.IsVersionCheckDone = False 2014.08.29 13:21:37: GameStat.LandClaimDeadZone = 30 2014.08.29 13:21:37: GameStat.LandClaimDecayMode = 0 2014.08.29 13:21:37: GameStat.LandClaimExpiryTime = 3 2014.08.29 13:21:37: GameStat.LandClaimOfflineDurabilityModifier = 32 2014.08.29 13:21:37: GameStat.LandClaimOnlineDurabilityModifier = 32 2014.08.29 13:21:37: GameStat.LandClaimSize = 7 2014.08.29 13:21:37: GameStat.LoadScene = 2014.08.29 13:21:37: GameStat.LootTimer = 1 2014.08.29 13:21:37: GameStat.NightPercentage = 50 2014.08.29 13:21:37: GameStat.PlayerDamageGiven = 2 2014.08.29 13:21:37: GameStat.PlayerDamageRecieved = 2 2014.08.29 13:21:37: GameStat.ScoreDiedMultiplier = -5 2014.08.29 13:21:37: GameStat.ScorePlayerKillMultiplier = 1 2014.08.29 13:21:37: GameStat.ScoreZombieKillMultiplier = 1 2014.08.29 13:21:37: GameStat.ShowAllPlayersOnMap = False 2014.08.29 13:21:37: GameStat.ShowFriendPlayerOnMap = True 2014.08.29 13:21:37: GameStat.ShowSpawnWindow = False 2014.08.29 13:21:37: GameStat.ShowWindow = 2014.08.29 13:21:37: GameStat.ShowZombieCounter = False 2014.08.29 13:21:37: GameStat.TimeLimitActive = False 2014.08.29 13:21:37: GameStat.TimeLimitThisRound = 0 2014.08.29 13:21:37: GameStat.TimeOfDayIncPerSec = 20 2014.08.29 13:21:38: GameStat.ZombieHordeMeter = False I noticed : GameStat.LandClaimOnlineDurabilityModifier are being set again to 32? and all these other options that are not listed in the config.. are there not some that can be? Link to comment Share on other sites More sharing options...
Alloc Posted August 29, 2014 Author Share Posted August 29, 2014 Could you send me the full log? GamePrefs/GameStats in log: At least the latter seem not to represent the correct values from the config when they are written to the log. Just ignore them If you want to check if your values are loaded correctly you might run "gg", it will show you the current values for each setting. Link to comment Share on other sites More sharing options...
Koolio Posted August 29, 2014 Share Posted August 29, 2014 can connect againt o the server.. very weird looking at the logs some dodgy ♥♥♥♥ 2014.08.29 13:15:16: Awake done 2014.08.29 13:15:16: Unloading 5 Unused Serialized files (Serialized files now loaded: 1 / Dirty serialized files: 0) 2014.08.29 13:15:16: Unloading 149 unused Assets to reduce memory usage. Loaded Objects now: 94076. 2014.08.29 13:15:16: Total: 100.690002 ms (FindLiveObjects: 4.526000 ms CreateObjectMapping: 0.525000 ms MarkObjects: 95.339996 ms DeleteObjects: 0.233000 ms) 2014.08.29 13:15:16: Fallback handler could not load library /home/sdtd/engine/7DaysToDie_Data/Mono/x86/SteamworksNative 2014.08.29 13:15:16: Platform assembly: /home/sdtd/engine/7DaysToDie_Data/Managed/Mono.Security.dll (this message is harmless) 2014.08.29 13:15:17: Fallback handler could not load library /home/sdtd/engine/7DaysToDie_Data/Mono/x86/SteamworksNative 2014.08.29 13:15:17: Fallback handler could not load library /home/sdtd/engine/7DaysToDie_Data/Mono/x86/SteamworksNative 2014.08.29 13:15:17: Fallback handler could not load library /home/sdtd/engine/7DaysToDie_Data/Mono/x86/SteamworksNative 2014.08.29 13:15:17: Fallback handler could not load library /home/sdtd/engine/7DaysToDie_Data/Mono/x86/SteamworksNative 2014.08.29 13:15:17: Fallback handler could not load library /home/sdtd/engine/7DaysToDie_Data/Mono/x86/SteamworksNative 2014.08.29 13:15:17: Fallback handler could not load library /home/sdtd/engine/7DaysToDie_Data/Mono/x86/SteamworksNative 2014.08.29 13:15:17: Fallback handler could not load library /home/sdtd/engine/7DaysToDie_Data/Mono/x86/SteamworksNative 2014.08.29 13:15:17: Fallback handler could not load library /home/sdtd/engine/7DaysToDie_Data/Mono/x86/SteamworksNative 2014.08.29 13:15:17: Fallback handler could not load library /home/sdtd/engine/7DaysToDie_Data/Mono/x86/SteamworksNative 2014.08.29 13:15:17: Fallback handler could not load library /home/sdtd/engine/7DaysToDie_Data/Mono/x86/SteamworksNative 2014.08.29 13:15:17: Fallback handler could not load library /home/sdtd/engine/7DaysToDie_Data/Mono/x86/SteamworksNative 2014.08.29 13:15:17: Fallback handler could not load library /home/sdtd/engine/7DaysToDie_Data/Mono/x86/SteamworksNative 2014.08.29 13:15:17: Fallback handler could not load library /home/sdtd/engine/7DaysToDie_Data/Mono/x86/SteamworksNative 2014.08.29 13:15:17: Fallback handler could not load library /home/sdtd/engine/7DaysToDie_Data/Mono/x86/SteamworksNative 2014.08.29 13:15:18: Telnet connection from: 94.23.154.133:38060 2014.08.29 13:15:18: Fallback handler could not load library /home/sdtd/engine/7DaysToDie_Data/Mono/x86/SteamworksNative 2014.08.29 13:15:18: Fallback handler could not load library /home/sdtd/engine/7DaysToDie_Data/Mono/x86/SteamworksNative telnet connection from who the eff knows pretty sure my server is whitelisted and this tool isn't on the list.. 2014.08.29 11:40:09: OnPlayerConnected 11 2014.08.29 11:40:09: PlayerLogin: 729583140152119048/AllocatedID: 0/猪猪 zhuzhu/Alpha 9.1 2014.08.29 11:40:09: Token: FAAAAO93IkJJ37Z6jmUiCgEAEAF0SQBUGAAAAAEAAAACAAAAlSF9ewAAAADnCgQAAwAAALIAAAAyAAAABAAAAI5lIgoBABABstYDALeyeGpkAajAAAAAAGkN91PpvBJUAQDxkQAAAAAAAGPZEx5jC3Do5D2Ss2fmbLsDqtXJttJQAl5wCard6d9M2K5Wy/QuxSoMw0jR7OWxaxo4ZOrNNOm+VHL1sU5E8ZgQ5x3Y5vCNT1dwN4jduEPRf/OoGZrcJ3cXqXc0qTHSm0xhVpbIn9gLDsMkir7JUCiwGmq1+Bbopl8R+wWIs/UfAADAdoc44CvoBJgkzgfIvdADMbZ2Z4gFemewilkFSAx6Z8AD7ARIDHpn5L3QAzG2dmdIDHpngAfsBAYANADAA+wEBQAzAIAH7AQnAAAA/L/QA7qpdmeAB+wE0P95Z4AH7AQMI84HgAfsBJ4iAQDgIVwFML7QAwkAAADW7AFYNMLQA9I9ODgBAAAAAAAAAOAhXAVg/QAAOL7QA1C+0ANwy6ZnOQAAABjB0APYvtADAAAAAOH////kx9AD+MDQA/PJpmcDyNADHwAAABjB0APYvtADAAAAADjB0AOcwdADgMqmZz0EADkAAAAAoOvmB/hy1QcoxqhnuDEsAAA0ywQBAAAAQILlBwAAAAAINMsEAAAAAAAAAAAAAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAGMHQA7C23gf/////HwAAAEQAAACYwdADAAAAAKg5IgCY42w4AL/QA2SrdmfgENcE4BDXBDQJ7AQYwNAD6NAKOIAH7AQYwNADNwN3Zz0AAAA9AAAAAAAAACzA0AP///9/CQAAAAkAAACwBHpnyNqoZ0i/0AOIm3ZnIAAAAND/eWdcv9ADXLR2ZyAAAAAelUUBIAAAAHS/0AO/onZnIAAAAAgAAAAUR94EAAAAAJy/0APqkjc4IAAAAHSscjg5AQAAAAAAAAAAAAAAAAAAFEfeBNBUdmfgxXA4AAAAAHwAUP2eIgEA+Qu7DwAAAAB5olMQAAAAAAAkzgfYv9ADfABQ/Z4iAQD/////4CvoAPy/0AM7LEA4AwAAAAcAAAAEAAAA4CvoBHwAUP2eIgEACQoDAAIAAAAgwNADK+8/OOAr6ATgK+gEuIEKOOAr6ARt7j84AAAAAAAAAQA0wNADJDKlZ+Ar6AQAAAEAmCTOB+jA0QNGOqVnmCTOBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== 2014.08.29 11:40:09: Authenticating player: 猪猪 zhuzhu SteamId: 76561198130292110 TicketLen: 1024 Result: OK 2014.08.29 11:40:09: Freeing user 猪猪 zhuzhu 2014.08.29 11:40:09: Started thread_CommReader: cl=11, ch=1 2014.08.29 11:40:09: Started thread_CommReader: cl=11, ch=2 2014.08.29 11:40:09: Allowing player with id 11 2014.08.29 11:40:09: Started thread_CommWriter: cl=11, ch=2 2014.08.29 11:40:09: Couldn't send RPC function 'RPC_PlayerAllowed' 2014.08.29 11:40:09: Started thread_CommWriter: cl=11, ch=1 2014.08.29 11:40:09: Couldn't send RPC function 'RPC_SetWorldTime' 2014.08.29 11:40:10: Couldn't send RPC function 'RPC_TEAccessClient' 2014.08.29 11:40:10: Couldn't send RPC function 'RPC_RawData_Ch1' 2014.08.29 11:40:11: Couldn't send RPC function 'RPC_RawData_Ch1' 2014.08.29 11:40:11: Couldn't send RPC function 'RPC_SetWorldTime' 2014.08.29 11:40:11: Couldn't send RPC function 'RPC_RawData_Ch1' 2014.08.29 11:40:11: Couldn't send RPC function 'RPC_RawData_Ch1' 2014.08.29 11:40:11: Couldn't send RPC function 'RPC_RawData_Ch1' 2014.08.29 11:40:11: Couldn't send RPC function 'RPC_RawData_Ch1' 2014.08.29 11:40:11: Couldn't send RPC function 'RPC_RawData_Ch1' 2014.08.29 11:40:11: Couldn't send RPC function 'RPC_RawData_Ch1' 2014.08.29 11:40:12: Couldn't send RPC function 'RPC_RawData_Ch1' 2014.08.29 11:40:13: Couldn't send RPC function 'RPC_SetWorldTime' 2014.08.29 11:40:13: Couldn't send RPC function 'RPC_RawData_Ch1' 2014.08.29 11:40:14: Couldn't send RPC function 'RPC_TEAccessClient' 2014.08.29 11:40:14: Couldn't send RPC function 'RPC_RawData_Ch1' 2014.08.29 11:40:14: Couldn't send RPC function 'RPC_RawData_Ch1' 2014.08.29 11:40:14: Couldn't send RPC function 'RPC_RawData_Ch1' 2014.08.29 11:40:14: Couldn't send RPC function 'RPC_RawData_Ch1' 2014.08.29 11:40:14: Couldn't send RPC function 'RPC_RawData_Ch1' 2014.08.29 11:40:14: Couldn't send RPC function 'RPC_RawData_Ch1' 2014.08.29 11:40:14: Couldn't send RPC function 'RPC_RawData_Ch1' 2014.08.29 11:40:14: Couldn't send RPC function 'RPC_RawData_Ch1' 2014.08.29 11:40:14: Couldn't send RPC function 'RPC_RawData_Ch1' 2014.08.29 11:40:15: Couldn't send RPC function 'RPC_SetWorldTime' 2014.08.29 11:40:15: Couldn't send RPC function 'RPC_RawData_Ch1' 2014.08.29 11:40:16: Couldn't send RPC function 'RPC_RawData_Ch1' 2014.08.29 11:40:16: Couldn't send RPC function 'RPC_RawData_Ch1' 2014.08.29 11:40:16: Couldn't send RPC function 'RPC_SpawnParticleEffect' 2014.08.29 11:40:16: Couldn't send RPC function 'RPC_SetWorldTime' 2014.08.29 11:40:17: Couldn't send RPC function 'RPC_RawData_Ch1' 2014.08.29 11:40:17: Couldn't send RPC function 'RPC_RawData_Ch1' 2014.08.29 11:40:17: Couldn't send RPC function 'RPC_RawData_Ch1' 2014.08.29 11:40:17: Couldn't send RPC function 'RPC_RawData_Ch1' 2014.08.29 11:40:17: Couldn't send RPC function 'RPC_RawData_Ch1' 2014.08.29 11:40:17: Couldn't send RPC function 'RPC_RawData_Ch1' 2014.08.29 11:40:17: Couldn't send RPC function 'RPC_SpawnParticleEffect' 2014.08.29 11:40:17: Couldn't send RPC function 'RPC_RawData_Ch1' 2014.08.29 11:40:18: Couldn't send RPC function 'RPC_RawData_Ch1' 2014.08.29 11:40:18: Saving playerData for entity id: 28550 2014.08.29 11:40:18: Couldn't send RPC function 'RPC_SetWorldTime' 2014.08.29 11:40:19: Couldn't send RPC function 'RPC_SpawnParticleEffect' 2014.08.29 11:40:19: Couldn't send RPC function 'RPC_RawData_Ch1' 2014.08.29 11:40:20: Couldn't send RPC function 'RPC_SpawnParticleEffect' 2014.08.29 11:40:20: Couldn't send RPC function 'RPC_RawData_Ch1' 2014.08.29 11:40:20: OnPlayerDisconnected 11 2014.08.29 11:40:20: No objects for the given player ID were deleted 11 2014.08.29 11:40:20: Exited thread_CommWriter: cl=11, ch=2 2014.08.29 11:40:20: Exited thread_CommWriter: cl=11, ch=1 2014.08.29 11:40:20: Exited thread_CommReader: cl=11, ch=2 more of these 2014.08.29 00:45:11: Telnet connection from: 94.23.154.133:34808 2014.08.29 04:44:53: Telnet connection from: 50.62.74.68:60968 how secure is this telnet ... you removed the option to disable it so I assume the server managing scripts need it, I've changed my password for it but still does it look like i need to get iptable rules out to block the port for these try hards. Link to comment Share on other sites More sharing options...
Koolio Posted August 29, 2014 Share Posted August 29, 2014 well after i changed the telnet port and password I was able to connect to the server.. so its good now, i'll just iptable the ports so its only my ip and localhost for future which log file do you need? Link to comment Share on other sites More sharing options...
Alloc Posted August 29, 2014 Author Share Posted August 29, 2014 well after i changed the telnet port and password I was able to connect to the server.. so its good now, i'll just iptable the ports so its only my ip and localhost Do you have a static IP that you connect from? If you only wanted connections to Telnet to be allowed from the server itself (i.e. scripts or when you want to access remote through e.g. SSH tunnel or VPN) you could just remove the password. That way the server will only listen on the loopback device. for future which log file do you need? current_output.log Oh, and the "fallback handler" lines don't matter. And I think the other errors were because the player was disconnected right after connecting. Link to comment Share on other sites More sharing options...
Koolio Posted August 29, 2014 Share Posted August 29, 2014 "you could just remove the password." You can understand why not many would assume that right, because that does not make any logical sense, remove password means remote connections are blocked, who would have thought I've left the password on and just done the iptables as I have tried remote telnet directly. So I've been succesfully running PHP scripts in your evented .sh scripts with the #!/usr/bin/php shebang with the assistance of https://github.com/ngharo/Random-PHP-Classes/blob/master/Telnet.class.php . <basedir>/hooks/playerConnect/ping.sh #!/usr/bin/php <?php require_once('class-telnet.php'); .... $telnet = new Telnet('127.0.0.1','8081',10,''); $ping = getPing($argv[6]); $country = geoip_country_name_by_name($argv[6]); $telnet->exec('Welcome, '.$argv[4].'. Your ping is '.$ping.'ms ('.$country.')'; ?> And your done, the same goes for all other hooks like responding to chat /commands and cron for timed server messages. (remember cron doesn't unfortunately support incrementals so running something every 43 minutes actually only runs once an hour at 43 minutes past the hour, instead of 0:43, 1:26, 2:09, 2:52, etc... I'm not quite sure why but it sounds so retarded that there has to be a really, really, really absolute reason for it. Marvels of *nix I guess.) I been waiting for something like this, gonna try it out does the server need to be restarted for new hooks to be used, and if the file is changed on the fly its updated without restart? also basedir as in /home/sdtd/hooks/playerConnect/ping.sh ? or can the basedir be from the instance? /home/sdtd/instances/<Name>/ Link to comment Share on other sites More sharing options...
Alloc Posted August 29, 2014 Author Share Posted August 29, 2014 "you could just remove the password." You can understand why not many would assume that right, because that does not make any logical sense, remove password means remote connections are blocked, who would have thought Well, if you use the instance editor it tells you about this does the server need to be restarted for new hooks to be used, and if the file is changed on the fly its updated without restart? No need to restart, hooks are read when an event is occuring. also basedir as in /home/sdtd/hooks/playerConnect/ping.sh ? or can the basedir be from the instance? /home/sdtd/instances/<Name>/ The former one. You get the instance name passed as parameter so if you want to have different actions you can check based on this param. Link to comment Share on other sites More sharing options...
Koolio Posted August 29, 2014 Share Posted August 29, 2014 so I got the php script working with class-telnet.php.... ie it sends to the server as .php file from the webserver.. but can't seem to get the .sh version of it working (/home/sdtd/hooks/playerConnect/ping.sh) class-telnet.php is in the same folder aswel... there any error logs? where would i find them "No need to restart, hooks are read when an event is occuring." I haven't restart the server instance either... but its like the ping.sh file isn't being read at all someone joins the server. like i don't see any php errors for it in apache log folder where I would if I was running the script as .php even tried adding #!/usr/bin/php <?php ini_set("log_errors", 1); error_reporting(E_ALL); ini_set('error_log','/home/sdtd/hooks/playerConnect/errors.log'); Link to comment Share on other sites More sharing options...
Koolio Posted August 29, 2014 Share Posted August 29, 2014 jeeez it was because the .sh file was created on windows fffff had to dos2unix the files ...now it works Link to comment Share on other sites More sharing options...
Koolio Posted August 29, 2014 Share Posted August 29, 2014 Is there a way to get current online players from an instance? Like with the below info? Player ID Entity ID Nickname Steam ID Client IP Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now