Koolio Posted September 6, 2014 Share Posted September 6, 2014 Could you make the si command return players name in the Bag for player <put actual playername. And same with... Bagpack for <player> also I still not got this api working the control panel is on, what steps am I missing exactly Link to comment Share on other sites More sharing options...
Isalof Posted September 6, 2014 Share Posted September 6, 2014 Im trying to compile the newest sources again Alloc. Same procedure as last time (deobfuscated, got the SteamWorks and Unity dll from my server). This time Im getting an Error in the Teleport command, line 53 (position attribute not found for EntityPlayer) and line 58 (PackageQueue couldnt find method mmdv0005). I also tried compiling the newest deobfuscator sources and deobfuscating the dll with that instead of the Release, didnt work though. Any ideas? Link to comment Share on other sites More sharing options...
Alloc Posted September 6, 2014 Author Share Posted September 6, 2014 I'm still trying to convince you... my intention is not to change behaviour but make it more informative without overflowing the chat. Maybe a configuration option to enable "advanced" features. I intend to publish the scripts as soon as they feal reasonably working and safe with relation to changes. Still it would require external things (that may even be Linux only if it's scripts) that won't be available to every user of the mod. So unless it is an option (and I don't have an options system yet ) that won't come. Could you make the si command return players name in the Bag for player <put actual playername. And same with... Bagpack for <player> Yup, changed in next release. also I still not got this api working the control panel is on, what steps am I missing exactly Did you download the webserver files to your game folder? See "Activation" here. (Please show me the contents of your game folder and the log if it still does not work) Im trying to compile the newest sources again Alloc. Same procedure as last time (deobfuscated, got the SteamWorks and Unity dll from my server). This time Im getting an Error in the Teleport command, line 53 (position attribute not found for EntityPlayer) and line 58 (PackageQueue couldnt find method mmdv0005). I also tried compiling the newest deobfuscator sources and deobfuscating the dll with that instead of the Release, didnt work though. Any ideas? "position": That's been just added in the latest Deob code, I just uploaded the source 6h ago (but no release so far). PackageQueue hast a "Send" method instead of a "mdv0005" after using the current Deob, but I think I did not yet upload the updated mod source for that part Link to comment Share on other sites More sharing options...
Isalof Posted September 6, 2014 Share Posted September 6, 2014 Ah ok thx, I will have to wait then^^. Link to comment Share on other sites More sharing options...
Koolio Posted September 6, 2014 Share Posted September 6, 2014 the teleportplayer <entid|playername|steamid> only going to xyz Could you add a way to do teleportplayer <entid|playername|steamid> <entid|playername|steamid> ? i guess in the meantime i'll do a fake command to get there pos and teleport to that. btw is it possible to manipulate player inventory? i have a script to check player inv on connect for duped items, but short of banning them and giving a warning, there isn't any easy way of getting rid of those items, I only have drop belt as server setting and its not like I can change that per player, so its not like I can teleport them from a dizzy height and force them to lose there ♥♥♥♥ in a spike pit as they die and still have the bag with duped items in potentially.. so some ideas cus funpimps goofed up on not fixing that exploit and many are using it. Link to comment Share on other sites More sharing options...
Alloc Posted September 6, 2014 Author Share Posted September 6, 2014 Ah ok thx, I will have to wait then^^. Well, you could just change that mdv0005 to Send and it should compile for now Could you add a way to do teleportplayer <entid|playername|steamid> <entid|playername|steamid> ? Yeah, will do that. btw is it possible to manipulate player inventory? Inventory is client sided, so you could only change it for offline players (or intercept the first transmissions when they get online). So basically: no Link to comment Share on other sites More sharing options...
Isalof Posted September 6, 2014 Share Posted September 6, 2014 Well I obviously tried it with Send but the position field was still missing. But since you replied saying it should work I had another look and noticed I wasnt creating the patchers right So thanks for that, compiling fine now ^^. Link to comment Share on other sites More sharing options...
qriff Posted September 6, 2014 Share Posted September 6, 2014 (edited) Could you add a way to do teleportplayer <entid|playername|steamid> <entid|playername|steamid> While your at it, the chat hooks could use entid/steamid passing as catching unescaped strings as playernames is quite challenging and then filtering them back to parameters for commands like teleportplayer. Edited September 6, 2014 by qriff (see edit history) Link to comment Share on other sites More sharing options...
Koolio Posted September 6, 2014 Share Posted September 6, 2014 While your at it, the chat hooks could use entid/steamid passing as catching unescaped strings as playernames is quite challenging and then filtering them back to parameters for commands like teleportplayer. yeh good call.. Link to comment Share on other sites More sharing options...
Alloc Posted September 6, 2014 Author Share Posted September 6, 2014 Can't do ... the scripts just parse the log, the log does not give anything else than player name. Link to comment Share on other sites More sharing options...
Koolio Posted September 7, 2014 Share Posted September 7, 2014 /home/sdtd/instances/Zone/Random Gen/[28D618]English, [6096D8]PVE,[FFFFFF] Public/webserver/ thats where I have (svn) webserver files..right place? or not? this "cd /path/to/7dtd/game/folder" wasn't exactly clear anyway Inventory is client sided, so you could only change it for offline players (or intercept the first transmissions when they get online). So basically: no I would totally be happy with a way to change offline inventory ..the dupe works by a player disconnecting after doing some inventory clicking anyway, so playerDisconnect hook could have some use, to check there inventory and clean things up for them Link to comment Share on other sites More sharing options...
Alloc Posted September 7, 2014 Author Share Posted September 7, 2014 /home/sdtd/instances/Zone/Random Gen/[28D618]English, [6096D8]PVE,[FFFFFF] Public/webserver/ thats where I have (svn) webserver files..right place? or not? Nope, that's the instnace folder, the game folder in your case is /home/sdtd/engine/ so there you should create that new folder with all the files I would totally be happy with a way to change offline inventory ..the dupe works by a player disconnecting after doing some inventory clicking anyway, so playerDisconnect hook could have some use, to check there inventory and clean things up for them We'll see what's coming up, but probably not the really close future. Problem is I do not want to access the save files as that could crash the server (when it wants to load files I have currently opened for writing). And crashing the server is something that I would never dare to do as long as I can prevent it Link to comment Share on other sites More sharing options...
Isalof Posted September 7, 2014 Share Posted September 7, 2014 (edited) I am getting the follwing exceptions in the output log: EAC UserStatusHandler callback. Status: Disconnected GUID: 76561197987923099 ReqKick: True 2014.09.07 12:43:43: EAC kicks player , status Disconnected 2014.09.07 12:43:43: ArgumentNullException: Argument cannot be null. 2014.09.07 12:43:43: Parameter name: key 2014.09.07 12:43:43: at System.Collections.Generic.Dictionary`2[system.String,System.Int32].ContainsKey (System.String key) [0x00000] in <filename unknown>:0 2014.09.07 12:43:43: at GameManager.md0012 (System.String par0001, Boolean par0002, DateTime par0003) [0x00000] in <filename unknown>:0 2014.09.07 12:43:43: at Authenticator.UserStatusHandler (EasyAntiCheat.Server.UserStatusUpdate userStatus) [0x00000] in <filename unknown>:0 2014.09.07 12:43:43: at EasyAntiCheat.Server.EasyAntiCheatServer.HandleUserUpdates (EasyAntiCheat.Server.UserStatusHandler handleStatus) [0x00000] in <filename unknown>:0 2014.09.07 12:43:43: at Authenticator.Update () [0x00000] in <filename unknown>:0 and 2014.09.07 12:49:49: at Command_shutdown.Run (System.String[] _params) [0x00000] in <filename unknown>:0 2014.09.07 12:49:49: at ConsoleSdtd.ExecuteRemoteCmdInternal (System.String par0001, Boolean par0002) [0x00000] in <filename unknown>:0 2014.09.07 12:49:49: at NNumber.de.Dictionary`2 (.ConsoleSdtd ) [0x00000] in <filename unknown>:0 2014.09.07 12:49:49: at ConsoleSdtd.Run () [0x00000] in <filename unknown>:0 2014.09.07 12:49:49: at GameManager.Update () [0x00000] in <filename unknown>:0 2014.09.07 12:49:49: TypeLoadException: Could not load type 'AllocsFixes.StateManager' from assembly 'Assembly-CSharp'. When shutting down. Could the last one have to do with me adding a command? Should I be worried? Edited September 7, 2014 by Isalof (see edit history) Link to comment Share on other sites More sharing options...
Alloc Posted September 7, 2014 Author Share Posted September 7, 2014 The first one seems to be caused by a player having no playername ... which looks like it's resulting in not kicking him even though EAC should do so Second one: You must have done something wrong when compiling or patching the assembly. That only happens when AC# has a method reference to a method in the fixes.dll that does not exist. So e.g. you may have copied the new AC# but forgot the new fixes or the other way round or something like that. Link to comment Share on other sites More sharing options...
Koolio Posted September 7, 2014 Share Posted September 7, 2014 so /home/sdtd/engine/webserver like that? Link to comment Share on other sites More sharing options...
Alloc Posted September 7, 2014 Author Share Posted September 7, 2014 Yup Link to comment Share on other sites More sharing options...
qriff Posted September 7, 2014 Share Posted September 7, 2014 (edited) While your at it, the chat hooks could use entid/steamid passing as catching unescaped strings as playernames is quite challenging and then filtering them back to parameters for commands like teleportplayer. So could you give an example how a console command would be executed on the user "[XXX] some name" because it doesn't work plainly [XXX] some name or with quotes "[XXX] some name", nor stripped of spaces "[XXX]somename" or escaped "\[XXX\]\ some\ name" or "[XXX]\ some\ name" or a combination of them. Currently I have to strip the playername from the chat message of special chars, then do the same for the lpe playernames and finally compare them with each other. And finally use the resulting lpe entid or steamid. Edited September 7, 2014 by qriff (see edit history) Link to comment Share on other sites More sharing options...
Isalof Posted September 7, 2014 Share Posted September 7, 2014 I redid the patching process because I think that I mightve made an error last time when switching dlls. I am now getting the following error: 2014.09.07 19:15:07: NullReferenceException: Object reference not set to an instance of an object 2014.09.07 19:15:07: at cl00b6.md0007 (System.String _bundleName, System.String _objName) [0x00000] in <filename unknown>:0 2014.09.07 19:15:07: at GameManager.Awake () [0x00000] in <filename unknown>:0 2014.09.07 19:15:07: Unloading 5 Unused Serialized files (Serialized files now loaded: 0 / Dirty serialized files: 0) 2014.09.07 19:15:07: Unloading 134 unused Assets to reduce memory usage. Loaded Objects now: 5781. 2014.09.07 19:15:07: Total: 6.349000 ms (FindLiveObjects: 0.290000 ms CreateObjectMapping: 0.155000 ms MarkObjects: 5.589000 ms DeleteObjects: 0.219000 ms) Could this have anything to do with the sources not being 100% fresh at either the deobfuscator or the fixes? The only thing I am doing btw is building new commands. Do I even have to replace the assembly-csharp then or wouldn't it just suffice to swap the fixes dll? Link to comment Share on other sites More sharing options...
Alloc Posted September 7, 2014 Author Share Posted September 7, 2014 The AC# only has to be replaced when you change something that is called by one of the hooks added by the patcher. Those errors look similar to what you get when running the server AC# on a client build ... but as you patch your AC# yourself that shouldn't be the problem. Sorry, but I can't debug custom builds, but I will upload the latest code soon™ Link to comment Share on other sites More sharing options...
Koolio Posted September 7, 2014 Share Posted September 7, 2014 Yup now it works you should change the wiki to have "/home/sdtd/engine/webserver".. it is afteral the default install path isn't it that "cd /path/to/7dtd/game/folder" is just confusing as hell Link to comment Share on other sites More sharing options...
Isalof Posted September 7, 2014 Share Posted September 7, 2014 The AC# only has to be replaced when you change something that is called by one of the hooks added by the patcher. Those errors look similar to what you get when running the server AC# on a client build ... but as you patch your AC# yourself that shouldn't be the problem. Sorry, but I can't debug custom builds, but I will upload the latest code soon™ And I would never expect u to . But that hint could be helpful, swapping just the fixes dll did seem to work, except for the error when shutting down. But I will have another look in any case. Looking forward to the latest code . Link to comment Share on other sites More sharing options...
Alloc Posted September 7, 2014 Author Share Posted September 7, 2014 you should change the wiki to have "/home/sdtd/engine/webserver".. it is afteral the default install path isn't it For the Linux stuff: Yeah. But the mod isn't for the Linux server but for any server. Link to comment Share on other sites More sharing options...
Alloc Posted September 7, 2014 Author Share Posted September 7, 2014 So could you give an example how a console command would be executed on the user "[XXX] some name" because it doesn't work plainly [XXX] some name or with quotes "[XXX] some name", nor stripped of spaces "[XXX]somename" or escaped "\[XXX\]\ some\ name" or "[XXX]\ some\ name" or a combination of them. Currently I have to strip the playername from the chat message of special chars, then do the same for the lpe playernames and finally compare them with each other. And finally use the resulting lpe entid or steamid. Well, yeah, for chat message hooks this is probably the way it is right now ... Currently no way around, sorry. Link to comment Share on other sites More sharing options...
nolram_ Posted September 8, 2014 Share Posted September 8, 2014 Hello friend... look this error: "/usr/local/lib/7dtd/common.sh: line 186: 9716 Killed nc 127.0.0.1 $TEL_PORT 0<&3" whats problem? Link to comment Share on other sites More sharing options...
Alloc Posted September 8, 2014 Author Share Posted September 8, 2014 Hello friend... look this error: "/usr/local/lib/7dtd/common.sh: line 186: 9716 Killed nc 127.0.0.1 $TEL_PORT 0<&3" whats problem? More context? E.g. what did you do before that happened? 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