
Druadan
Aristotle Enterprises
|
Posted - 2008.12.17 09:29:00 -
[1]
Originally by: VoiceInTheDesert To me, this is pretty easy to fix. Just make a mandatory "confirm" window on shut down of the program. If this button is confirmed, then the timer for staying in space is...let's say 20 seconds (now you have at least 5 seconds to lock and get the aggression timer going).
If the confirmation is not done, then the standard auto-warp off to safety.
People who close the game and use loggoffski as a game mechanic lose their ships. Those who lose connection are still safe.
It won't stop people from just ending the program with task manager or something, but those people are *****es who will probably figure a way around any system that can be fairly implemented anyway.
The reason this and other suggestions don't work is because of how connection protocols work.
There are basically two types: TCP (stateful/connection-based) and UDP (stateless/connectionless, which I presume EVE uses for reasons explained further down). When a TCP connection is properly closed, the connection terminates with both sides (server and client in this case) agreeing that the connection is over and terminating gracefully. When a TCP connection closes due to the connection being broken by one side crashing or the route breaking due to a cable being removed, the connection terminates gracelessly and each side has to come to terms with that with no additional communication possible.
So when you hit Ctrl+Q, the client is able to communicate to the server that the user is intentionally logging off and the server can begin your emergency warp. If you terminate the process directly (through Task Manager) then the connection terminates gracelessly and the server can assume (though not safely) that you crashed or had network problems.
However, online games do not use TCP connections much because they carry with them a large overhead that affects the throughput of useful information between the client and server. Instead, they use UDP packets, and while I've never looked at what type of connection EVE uses, I'm assuming it is UDP. The difference is that TCP connections are like passing ping-pong balls down a length of hose to where you want them to go, whereas UDP connections are like switching out the lights and throwing the ping-pong balls toward their destination, hoping that they get to where you want. It's quicker, and due to the robust nature of packet-switching networks still quite reliable.
The problem with the UDP method is that while hitting Ctrl+Q still means the client can sent a datagram to the server indicating that you have initiated a log-off, if you cut the client off or terminate it gracelessly via Task Manager, no such communication is possible, and the server is left not knowing whether you're still there and just haven't been able to get any of your datagrams through recently, or you've disconnected due to a network problem or a crash. It's not practical for a server to count the milliseconds between datagrams from each client, with a view to being able to say "o ****" when you're late, and that's why when you pull your ethernet cable out while playing EVE, it takes a while even for the local client to figure out that you've disconnected.
Ain't no easy answer for the logoffski problem. I don't think it would be right to call it part and parcel to the game, as it's an underhanded practice, but nor is it fair to say that CCP could easily solve it and just haven't been bothered to. Sig removed, inappropriate content. If you would like further details please mail [email protected] ~Saint |