+repose
-
@Derp said:
OR, do them in a temproom, which would theoretically make recalling the poses there impossible once its destroyed.
If they are logged, they can be recalled. It's the security that keeps things from getting out of hand, things that need to be taken into account no matter how the information is recorded. So log the whole game already.
I don't think it's a horrible idea, given the "security" caveat, and the security is going to be part of the game culture. The original post (or original poster-by-proxy) probably doesn't realize they are requesting this, but it's the only way to make it work.
I can think of many ways to make this safer, some of which have been touched upon. "That room only" and "last 10 poses", yes. You can even make the logger forget anything older so that nobody else (staff) can pull the information.
Even "that room only" depends upon determining "that room" to be more unique than the dbref. With how often dbrefs get re-used thanks to temprooms and jobs, the chances that you'll end up in a temproom that has been logged before isn't enough to zero to say it's secure.
My security feature: Turn it on only by request, be noisy about it, and remove anything logged when it's turned off. Automatically turn off if the last person leaves the room. I would use this as an easy way for the game to generate wiki-friendly scene logs, but catching up on poses would be a nice secondary feature.
I would say the rest of you are over-thinking it, but in truth it's because I've been thinking about this for years already and that's how I would do it.
-
This is one of those situations where you realize rooms ≠ scenes.
-
@TNP said:
And if you REALLY want to be safe from the code, go into a private room with a locked exit, create an item then enter the item and RP there. Now that's paranoia.
Oh, are we playing the paranoia game?
If you REALLY want to be safe from code that logs, go into a private room with a locked exit, create an item, enter the item, and while in the item, whisper to each other the address of a private IRC server and a channel on said server. Then go RP on that IRC server.
-
@WTFE Isn't it easier to just exchange Skype/IM info and do it there?
-
Isn't it safest not to log in at all?
-
@Thenomain said:
@Sponge said:
@Thenomain said:
Why not simply log the entire game? We're over halfway there as it is.
I do, but I'm hesitant to try and build a mechanism to scrape the pcaps and push them into the game on demand.
Why? That's what people are asking for. If you mean for security reasons, then build better security, security considerations that would need to be made regardless of the system you would end up using.
Without parsing the streams the most granular filtering I have in the pcap data is remote IP + remote port. Without a really sophisticated stateful parser (that I'd have to write) there's no differentiation between MU output that's destined just for the user and MU output that's for the "room". Even the concept of a "room" or a list of other players in the same location as the recipient are really hard to infer.
You wouldn't even need to scrape. @ahear on the master room and boom, game-wide listening. I'm not a fan of soft-code extensions to hard-coded functions, but what could possibly go wrong using a system that can retrieve poses in a room you weren't in when they were being made, like Pose Order Tracker? A system that will have to be always-running to be effective as this kind of tool?
This reads like you missed the word "pcaps".
-
What's pcaps?
-
Packet Capture. I capture all the traffic that goes in and out of the game.
This runs before ./Startmux:
/usr/sbin/tcpdump -pns0 -C 8 -w newprospect -W 64 'tcp port 7777 and not (net 127.0.0.0/8 or net $home_ip/32)'
-
Stop reading my TS!
Or my bad coding attempts. -
@Sponge said:
Packet Capture
I still had to look this up to understand what point you were trying to get at. (tl;dr: I still don't know.)
After doing the scant research about it, I don't see how that changes my response. You don't need to scrape anything; it can be done (and by your comments, done better) by using in-game resources. You can also scrape the logfile that you can convince Mu* to make to begin with, where everything typed is logged, but it also doesn't have the context to make a good poselogger.
You know what does? Master room,
&log_everything <object>=$*:<log it>
, done. The default TinyMUX install passes through commands instead of absorbing them when matched, though you may not get the "Huh?" message because the server sees it getting matched. Compare to @Chime's "@whence" output and if fails, report the Help Text.Anyway, yeah, your correction didn't make much sense to me.
A secondary point there is: It doesn't require hardcode fiddling, and really isn't that hard on the softcode side, to log everything outputted to every room or object on the game. This was to the people concerned with such things being abused, a point that @WTFE made as well. @TNP's solution wouldn't work in this case.
-
@Thenomain said:
@Sponge said:
Packet Capture
I still had to look this up to understand what point you were trying to get at. (tl;dr: I still don't know.)
It makes more sense with the winky face. Every byte that the Internet passes in and out of the game is saved. If a packet gets lost and retransmitted, I've (probably) saved both the lost packet and the retransmitted copy. I get the empty ACK packets generated by the KEEPALIVE flag. I get all the communication to and from the client before the user logs in.
Anyway, it was a silly comment. I have complete logs of everything but not at the right level to be useful for this problem.
After doing the scant research about it, I don't see how that changes my response. You don't need to scrape anything; it can be done (and by your comments, done better) by using in-game resources. You can also scrape the logfile that you can convince Mu* to make to begin with, where everything typed is logged, but it also doesn't have the context to make a good poselogger.
You know what does? Master room,
&log_everything <object>=$*:<log it>
, done. The default TinyMUX install passes through commands instead of absorbing them when matched, though you may not get the "Huh?" message because the server sees it getting matched. Compare to @Chime's "@whence" output and if fails, report the Help Text.Anyway, yeah, your correction didn't make much sense to me.
A secondary point there is: It doesn't require hardcode fiddling, and really isn't that hard on the softcode side, to log everything outputted to every room or object on the game. This was to the people concerned with such things being abused, a point that @WTFE made as well. @TNP's solution wouldn't work in this case.
As I mentioned, I don't like @hook for this and if I implement something it will be akin to what @Bobotron describes: a system to create a Monitor object that does the logging work and is conspicuous about what it's doing.
-
@Sponge
@hook isn't super hard to utilize. But the concept of an object that does it (which stores on the object, which recycles itself when dismissed/after a period of time) works. Heck, you could even timer it so that when the last person leaves the room (via @listen or periodic lvplayers() search on the room), that's summoned to the room and is clearly marked eitheri n the room desc or there in the contents, would work too. Most POTs I've seen hold the last say 10 poses, so I'd say that's a good default. -
@Sponge said:
Anyway, it was a silly comment. I have complete logs of everything but not at the right level to be useful for this problem.
Oooohhhhhhh. Then yeah, it's funny.
Yes.
Funny.
[...] if I implement something it will be akin to what @Bobotron describes: a system to create a Monitor object that does the logging work and is conspicuous about what it's doing.
Again:
https://github.com/thenomain/Mu--Support-Systems/blob/master/Global Pose Logger.txt -
@Thenomain
And what if you're a coder that hates or is not familiar enough with SQL to not break stuff? Therein lies my problem (which is why I'm writing my own variant of the @hook'ed one for TheatreMUSH anyway). -
That's my problem too, I don't have any real experience with SQL at all and so trying to work it into things is impossible for me. I just do what I can and hope I am going to make a game that people want to play and RP on, and works.
-
That was aimed to Sponge. I do have somewhere around here a system that logs to objects, but if we're logging an entire game to objects then headache, heart-ache, and ache-ache, not to mention database bloat like whoa.
I have been lost in posts and madness for long enough that I don't know your final goal, but as long as it's "log to object" then it doesn't matter, because the log is destroyed with the objects.
Likewise: Consider putting a real object in the room with @ahear/@listen and not @hook. It'll be easier and more conspicuous.
-
@Thenomain
I think you're also missing the fact that most of the time, we're not logging the whole game. We're keeping the last <X> poses, with some arbitrary default and/or maximum, on. It'll eventually cycle out and close itself up. We're not keeping forty days worth of logs on an object.I agree with the thought about @hooks; I use one for my custom look commands so that people can look at Virtual Characters for NPCs and such, but overall I find hook to be easier to break stuff with if you're not careful.
-
This post is deleted!