Display Error
Easiest, yeah. Not best. There should be other ways to fix this, things that *don't* get in the way of people who are genuinly playing on the same IP like these guys. IP's are *always* a bad protection.zaroba wrote:awefully? lol.
not letting people with the same ip see each other is the easiest way to prevent somebody with multiple PCs from making multiple characters and cheating.
So yeah, if this is really because of an anti-cheat protection, awful is one huge understatement.
Before we all get carried away with arguments about what's awful and what isn't as far as the code, security, IPs and so on are concerned (especially in a thread that's ostensibly about display problems), some facts are in order:
- there are people with the same IPs who can see each other
- there are people with different IPs who cannot
- for some people the reverse of each of these statements is true
- for some people, all of the above is true at certain times but not others
Ie, it's a very tricky thing to deal with. This is because the space part of the game doesn't rely on client-server communications for anything apart from the stuff that affects your galaxy character (ie trading, kills, anything to do with your character's stats). For that stuff, there's communication between the player and the galaxy server, and that all works fine for the majority of people the majority of the time.
The rest of space, however, is peer to peer: system chat, positioning, movement, combat. It's like this so we can run the game without needing a very fast server on a very fast connection to process all of that stuff quickly enough to prevent noticeable lag. Doing so would be better, but then we'd have to charge you all to play. So we use a p2p system to deal with it all.
The downside of that is that with p2p networking we introduce a number of unknowns to the equation. If I can see you, and you can see me, but neither of us can see Bob over there...while Jim can see Bob but not me... it could be any one of a number of factors causing the problem. The most likely culprit is network settings, firewalls and physical things like routers; ISP policies may also be involved, who knows. It could be my settings, your settings, Jim's settings or Bob's settings (or routers or firewalls or whatever). In space it's nothing to do with similar IPs, by the way.
I'm not an expert on the technical side of this at all, except to say: it's like this because that's the way it was written, because it made the most sense at the time; it does need improving; and I'm told there is a solution but it'll involve completely rewriting all the networking code, which will be very time consuming (ie, isn't going to happen any time soon).
It's extremely annoying, I know, and if anyone has the expertise to suggest a sensible course of action (not "give me the source", btw :] ) then by all means do so. But given that, for example, I can always see certain people, and they can always see me... while others are always invisible... and some are intermittently so... and yet, we're all using the same code... I'd suggest, as above, that it's some combination of factors outside the remit of the code itself that cause the problem in the first place. They being, almost certainly, network/firewall/ISP/whatever settings.
f
- there are people with the same IPs who can see each other
- there are people with different IPs who cannot
- for some people the reverse of each of these statements is true
- for some people, all of the above is true at certain times but not others
Ie, it's a very tricky thing to deal with. This is because the space part of the game doesn't rely on client-server communications for anything apart from the stuff that affects your galaxy character (ie trading, kills, anything to do with your character's stats). For that stuff, there's communication between the player and the galaxy server, and that all works fine for the majority of people the majority of the time.
The rest of space, however, is peer to peer: system chat, positioning, movement, combat. It's like this so we can run the game without needing a very fast server on a very fast connection to process all of that stuff quickly enough to prevent noticeable lag. Doing so would be better, but then we'd have to charge you all to play. So we use a p2p system to deal with it all.
The downside of that is that with p2p networking we introduce a number of unknowns to the equation. If I can see you, and you can see me, but neither of us can see Bob over there...while Jim can see Bob but not me... it could be any one of a number of factors causing the problem. The most likely culprit is network settings, firewalls and physical things like routers; ISP policies may also be involved, who knows. It could be my settings, your settings, Jim's settings or Bob's settings (or routers or firewalls or whatever). In space it's nothing to do with similar IPs, by the way.
I'm not an expert on the technical side of this at all, except to say: it's like this because that's the way it was written, because it made the most sense at the time; it does need improving; and I'm told there is a solution but it'll involve completely rewriting all the networking code, which will be very time consuming (ie, isn't going to happen any time soon).
It's extremely annoying, I know, and if anyone has the expertise to suggest a sensible course of action (not "give me the source", btw :] ) then by all means do so. But given that, for example, I can always see certain people, and they can always see me... while others are always invisible... and some are intermittently so... and yet, we're all using the same code... I'd suggest, as above, that it's some combination of factors outside the remit of the code itself that cause the problem in the first place. They being, almost certainly, network/firewall/ISP/whatever settings.
f
Aaah, that explanation makes perfect sense. The choice to do things like that over P2P was probably made a long time ago. The fact that models etc are all compressed heavily since A Tractor makes sense too - also because this part of the game was programmed so long ago. In my opinion, things like this heavy compression should be made optional, because nowadays it does not make sense anymore.
Also, because positioning etc happens over P2P, *that's* what makes it easy for people like Eminem to cheat. The choice to do things over P2P probably comes from the time when dialup was still regular, since I'm *sure* if the protocol is nice and slim (ie byte-oriented and not line-oriented) things will be just fine with nowadays connections, even slower connections. That would be my solution, personally, and I'd be happy to implement it for you if I could. (Mit hasn't responded yet, by the way, so *thud* )
Also, because positioning etc happens over P2P, *that's* what makes it easy for people like Eminem to cheat. The choice to do things over P2P probably comes from the time when dialup was still regular, since I'm *sure* if the protocol is nice and slim (ie byte-oriented and not line-oriented) things will be just fine with nowadays connections, even slower connections. That would be my solution, personally, and I'd be happy to implement it for you if I could. (Mit hasn't responded yet, by the way, so *thud* )
I'll prod mit.
I don't think it's just the case that the p2p stuff was written so long ago that no-one had broadband. Space stuff is only 3 years old, or so, I think. It's more what I said earlier: that we'd need to charge people to guarantee performance for space combat and so on. That might sound like a strange thing to say given the small number of players we have, but in fact the galaxy was designed to be massively scalable, to 1000s of concurrent players... not 5 :) So, because the intention was always to make the space side as massively multiplayer as possible (within reason), while we weren't ready to commit to a pay-for service with all the support and quality issues that brings, p2p was the only logical solution.
You'd probably get more detail on this from mit. In spite of appearances he actually does know what he's doing - he's a professional coder and a specialist in massively scalable, online stuff. He just hasn't necessarily implemented any of that here :] And isn't being particularly communicative at the moment.
As far as compressed models etc, well it's just elegant and efficient doing things that way, innit. And on worlds, where all that stuff is important, we're talking about normal client-server communication; but similar thing applies. Even a few 10s of Mb of content on a world will kill a fast DSL connection with limited upstream speed, if more than a handful of people try and grab the content simultaneously. It all makes sense if you imagine 20x the players we currently have :]
f
I don't think it's just the case that the p2p stuff was written so long ago that no-one had broadband. Space stuff is only 3 years old, or so, I think. It's more what I said earlier: that we'd need to charge people to guarantee performance for space combat and so on. That might sound like a strange thing to say given the small number of players we have, but in fact the galaxy was designed to be massively scalable, to 1000s of concurrent players... not 5 :) So, because the intention was always to make the space side as massively multiplayer as possible (within reason), while we weren't ready to commit to a pay-for service with all the support and quality issues that brings, p2p was the only logical solution.
You'd probably get more detail on this from mit. In spite of appearances he actually does know what he's doing - he's a professional coder and a specialist in massively scalable, online stuff. He just hasn't necessarily implemented any of that here :] And isn't being particularly communicative at the moment.
As far as compressed models etc, well it's just elegant and efficient doing things that way, innit. And on worlds, where all that stuff is important, we're talking about normal client-server communication; but similar thing applies. Even a few 10s of Mb of content on a world will kill a fast DSL connection with limited upstream speed, if more than a handful of people try and grab the content simultaneously. It all makes sense if you imagine 20x the players we currently have :]
f
Thanks a lot for your explanation. I agree with most of your points, just I think if we had 1000 times the current number of players, there would be a lot of more ways to get money out of it for hosting the servers. If we have that many players, we would not only need a galaxy server with a better uptime and connection, we'd probably need more than one server to do processing too. Doing things like that via P2P has more cons than pros, even when talking 1000 players instead of 5. It's a good solution anyway, and I'm happy to see it's actually there for a good reason.
Also, on downloading these models and textures, even if there are 30 players on a world, it's only a problem when they all join the server at the same moment. Without having seen any part of the source or format, there should be some way to identify models and textures uniquely, and some central server that hosts models and textures. I think the client can already download using HTTP, it just never does that and downloads everything off the usually very low bandwidth world servers. (Am I right here?)
I'm looking forward to talking with you two about this. I think I can improve some parts of this game after we have decided a best solution. The nice thing is that this is an MMORPG (just not that the-first-M-y) so if the best solution right now turns out not to be the best solution once the game starts attracting more people again, we can just patch in a new best solution and release an update.
Let's get ontopic again here and I hope I'll hear from either you or Mit via mail or PM soon.
Also, on downloading these models and textures, even if there are 30 players on a world, it's only a problem when they all join the server at the same moment. Without having seen any part of the source or format, there should be some way to identify models and textures uniquely, and some central server that hosts models and textures. I think the client can already download using HTTP, it just never does that and downloads everything off the usually very low bandwidth world servers. (Am I right here?)
I'm looking forward to talking with you two about this. I think I can improve some parts of this game after we have decided a best solution. The nice thing is that this is an MMORPG (just not that the-first-M-y) so if the best solution right now turns out not to be the best solution once the game starts attracting more people again, we can just patch in a new best solution and release an update.
Let's get ontopic again here and I hope I'll hear from either you or Mit via mail or PM soon.
The world server is supposed to dynamically work out the best way to distribute files to all the players requesting them. Mit wrote a whole new system for that. But it's broken :) So all we have at the moment is a capped limit - capped quite low to allow people with 56k connections to still host some kind of world.dazjorz wrote: I think the client can already download using HTTP, it just never does that and downloads everything off the usually very low bandwidth world servers. (Am I right here?)
All world servers can take advantage of http/ftp servers for sound, model & texture hosting. It's just that hardly any world owners use that functionality. So it's not a client issue, its a world owner issue - either not having webspace (which isn't good) or not knowing how to set it up/not bothering to find out.
f