Combat logging

In some mmo game's when you suddenly log, you persist in the game world for a time under AI control. If a player logged off during combat and the AI of equal rating (harmless AI for harmless player or elite AI for elite player) took control for a short time before being fully out of the game world, would it be good or bad for Elite Dangerous?
 
In some mmo game's when you suddenly log, you persist in the game world for a time under AI control. If a player logged off during combat and the AI of equal rating (harmless AI for harmless player or elite AI for elite player) took control for a short time before being fully out of the game world, would it be good or bad for Elite Dangerous?

It would be bad. Because Elite is P2P, I can simply block traffic from your peer and make you "disconnect" from my game. Then I can simply kill the AI.
So if you put in such a system, and have it punish players, it can be weaponized and abused.
Worse, if a player has a brief connection issue and then reconnects to your instance, what are you gonna do? Have the AI vanish? Or am I suddenly facing two opponents?
If I face two opponents, brief disconnects can be turned into a weapon again. If the AI disappears once the player reconnects, it can still be used to disorient players. Heck I could even decide that an Elite AI fights better than me and always disconnect, and have the AI duke it out for me.

In short: There's no free lunch in P2P.


Also note that there's always someone claiming that "nobody would block traffic to abuse such a system". These people are writing this with a nasty grin on their face, also called "playing the forum meta".
 
Last edited:
P2P:

Suppose clients A and B are both connected to FD server and instanced together.
Connection between A & B breaks for some internet reason.
A's client sees B disappear but has no way of knowing whether B is still connected to FD, so can't know whether to spawn an NPC replacement.
B's client sees A disappear but has no way of knowing whether A is still connected to FD, so can't know whether to spawn an NPC replacement.
FD has no way of knowing whether A or B caused the disconnection, or if it was just an internet thing.

With P2P, replacement NPCs are impossible. Knowing who combat logged is impossible for FD. Proposals for dealing with combat logging need to take these facts into account.

That's all when everything's working right. I've been in an instance with two other people, able to see both of them but with them both saying they couldn't see the other.
 
Last edited:
So it is P2P in open mode? Who hosts an instance? And how big is the instance? System wide?

The matchmaking and BGS and lots and lots of things are client-server.

But all the "realtime" stuff (seeing other human ships flying around) is P2P; whether in Open or PG.

Standard matchmaking instances are small; I believe 16 players. This number includes people joined via multi-crew. There are various tricks to increase the instance size, but it gets progressively less stable / performant. Think about it, in a true P2P network, everybody needs to connect with everybody else which means the number of connections goes up quadratically. Just 32 players means nearly 500 connections.
Nobody "hosts" a P2P session; every node is a peer. I don't know if FDev implemented this, but P2P networks also allow for mitigating against cheating - every node would check actions taken, and only allow "legal" actions. If one node cheats, the others would simply outvote it and ignore the action, or possibly even automatically kick it out.

You can get around the P2P limitations by making one player the host, effectively turning it into a mini-client-server model, but the trick then becomes choosing a suitable host with sufficient bandwidth; you also need host-migration protocols in case the host disconnects suddenly and various other bits and bobs. All up it's a fair bit more complicated. Of course, you also need to trust the host not to do anything nefarious. While it's possible to ensure that the hosts' code hasn't been tampered with, it's much more difficult to ensure that there are no network packet modifications going on unless every packet is encrypted and/or signed. Even then, the host can disadvantage nodes by simply delaying packets.

The final solution is to host each instance centrally, which alleviates most issues, but this approach is very expensive as you need a lot of very performant network infrastructure as well as sufficient servers to handle the instances. Doable for subscription-based games, not really affordable for games which are based on box-sales.
 
Wow. Thank you, Micha. That was very informative. Do you know who decides what the computer players do?

Interesting question in this context, and something I completely failed to account for; no, I don't.

Perhaps one of the P2P nodes does get elected as an instance controller and handles all of them, but there is the issue of selecting a node with perhaps insufficient resources (CPU and/or networking) resulting in a poor experience for everybody. Alternatively if the NPCs run a purely deterministic algorithm, apart from occasionally re-syncing due to minor timing differences, every node could run the AI logic themselves which would cut down on the requirements.
 
I believe ownership of AI ships is split up between peers. Whenever a peer leaves, the ownership of his entities is reassigned. But that's just speculation based on going through the logfiles.
 
That's all when everything's working right. I've been in an instance with two other people, able to see both of them but with them both saying they couldn't see the other.

Yea. Happened to me, too. They were fighting each other before. Then suddenly both flew away in a straight line, shooting at empty space. (Apparently their system still predicted the other ships flight path, which due to lack of input was in a straight line. ) Then both stopped and started spamming my chat, that i should confirm that the other one is a combat logger. (Which they want to get banned, of course. )

I think that a lot of combat logging accusations are based on such things, just with no neutral observer around, to tell them that nobody actually logged. (I've seen more than one "confirmed combat log" video on youtube, with plenty of people spewing really dirty insults in the comments, which looked exactly the same... but hey, why use information when you can just scream around? )
 
You can get around the P2P limitations by making one player the host, effectively turning it into a mini-client-server model, but the trick then becomes choosing a suitable host with sufficient bandwidth; you also need host-migration protocols in case the host disconnects suddenly and various other bits and bobs.

I remember reading somewhere that Elite Dangerous is making the first ship in a system the host and others then join that instance until it reaches a set limit, at which point a new player will become the host of a new instance
 
I remember reading somewhere that Elite Dangerous is making the first ship in a system the host and others then join that instance until it reaches a set limit, at which point a new player will become the host of a new instance

Any chance of finding the link? I'm fairly certain they don't do this but would love to be proved wrong. If they have this sort of system in place it would be much easier for them to develop and release a "server" client; a cut-down version of the game client without the graphics designed to just host instances. I'm sure you'd get plenty of people willing and able to host "instance servers" for free just so they can get bigger and stabler instances happening.
 
Wouldn't work. P2P.

I'd be ready to host an extra server for FDev just for this case. A server that watches all players in all instances (and modes!) and will take control over their session in case they timed out and give the session back once they come back willingly. This is the only reliable alway to solve combat logging. Investment in infrastructure is essential and can't be avoided. Pay the damn bills.
With a server (or multiple) doing nothing but watching player sessions, combat logging would be solved without completely overhauling the netcode as the server is basically another backup client that also connects via P2P and since the server is FDev controlled we have no security issues to fear (apart from the host :p).
The aolution is easy but the main problrm with all issues that FDev doesn't want to work on it. They don't want to bug fix, they don't want to improve, no, they wanna work on a project for the next 18 months and leave their garbage behind because ...
 
Ultimate combat logging fix

If you ungracefully exit the game while in danger, (task kill, CTD, power cut, etc), you can only returning your previous mode for 1 hour.
Menu logging in not effected.

Done!
No silly gimmicks, no exploits, no punishing accidental disconnects.
You just return to where you left off, which legitimate CMDRs do anyway .
Anyone trying to sneak in to another mode to escape is only allowed to rejoin their previous mode, or not play until the timer runs out.
And no, you can't log back in to your previous mode, then menu quit, and join solo. The 1 hour timer runs from the moment you disconnected, for one hour.
 
Ultimate combat logging fix

If you ungracefully exit the game while in danger, (task kill, CTD, power cut, etc), you can only returning your previous mode for 1 hour.
Menu logging in not effected.

Done!
No silly gimmicks, no exploits, no punishing accidental disconnects.
You just return to where you left off, which legitimate CMDRs do anyway .
Anyone trying to sneak in to another mode to escape is only allowed to rejoin their previous mode, or not play until the timer runs out.
And no, you can't log back in to your previous mode, then menu quit, and join solo. The 1 hour timer runs from the moment you disconnected, for one hour.

That....sounds like a pretty damn good logical solution hopefully fdev sees this post. I know nothing about programming but get the feeling this would be pretty easy to implement too instead of "transport tokens" and other stuff mentioned in recent threads.
 
Last edited:
Ultimate combat logging fix

If you ungracefully exit the game while in danger, (task kill, CTD, power cut, etc), you can only returning your previous mode for 1 hour.
Menu logging in not effected.

Done!
No silly gimmicks, no exploits, no punishing accidental disconnects.
You just return to where you left off, which legitimate CMDRs do anyway .
Anyone trying to sneak in to another mode to escape is only allowed to rejoin their previous mode, or not play until the timer runs out.
And no, you can't log back in to your previous mode, then menu quit, and join solo. The 1 hour timer runs from the moment you disconnected, for one hour.

That sounds like a good partial solution.

I don't think it can deal with in the case where one player disconnects from another but both remain connected to the FD server, so both keep flying.
 
That sounds like a good partial solution.

I don't think it can deal with in the case where one player disconnects from another but both remain connected to the FD server, so both keep flying.

We both have experienced that and have pointed it out. It's being ignored. It is against the religion of some people, who firmly believe that everybody is afraid of them and thus everybody is combat logging. Nothing could ever be wrong on the technical side, after all, especially not in this game...
 

Goose4291

Banned
That sounds like a good partial solution.

I don't think it can deal with in the case where one player disconnects from another but both remain connected to the FD server, so both keep flying.

True, but it removes one type of Burke from my game.

Those idiots who interdict or attack me in a CZ/RES site or where ever, who suffer a disconnection issue when they're losing, then their internet magically fixes itself in a few minutes, for them to continue the oddly situation specitic internet connection dance macabre.
 
We both have experienced that and have pointed it out. It's being ignored. It is against the religion of some people, who firmly believe that everybody is afraid of them and thus everybody is combat logging. Nothing could ever be wrong on the technical side, after all, especially not in this game...

It does concern me that we get offered frequent "solutions" to the problem of combat logging, but almost always they have a client-server model in mind and can't be applied to P2P. All this will do is make a lot of noise and blow up the problem out of proportion, never yielding a solution.

I also think as you've previously said that a lot of the videos of so-called combat logging are really just the effects of internet glitches. A video from only one person's PoV is really fairly useless for deciding what went wrong, unless the other person confirms that what it shows is consistent with what they experienced.

But you're right, I think key facts are being consistently ignored because they don't suit an agenda. All we can do is keep restating them.
 
Any chance of finding the link? I'm fairly certain they don't do this but would love to be proved wrong. If they have this sort of system in place it would be much easier for them to develop and release a "server" client; a cut-down version of the game client without the graphics designed to just host instances. I'm sure you'd get plenty of people willing and able to host "instance servers" for free just so they can get bigger and stabler instances happening.

very bottom of this page https://lavewiki.com/network

... unless the laggy player is the instance host...
 
Back
Top Bottom