Remove nat traversal

Remove nat traversal

Requests for features in the spring code.

Moderator: Moderators

Orakio
Posts: 119
Joined: 25 Aug 2006, 16:41

Remove nat traversal

Post by Orakio »

Please just get rid of it. It doesn't always work and people use it rather than figure out how to forward port and open holes in the firewall. Chances are most people who use it can in fact forward ports they just can't figure out how. some people may be using it with the port forwarded. Also please provide a description of how the traversal methods actually work. Thanks.

also, I notice when even playing in single play mode it uses network. Please get rid of this and have direct for single player. It's rediculous that I get sync errors when playing in single player if I get lag as well as iverflow errors.

Further more, missing texture messages arn't sent to infolog or whatever it is, this is annoying. Please have everything go to info log. Sync errors need to be recoverable.

Is it possible to see unit limit in battle? Need to be able to change it in battle if possible, or have per play so if on does .take and it's set to 500 that person gets 1000 or changable in battle by host.

Also, you can fly of the edge of the map in fps, annoying because aa can't hit you. Also units keep getting stuck in walls and under buildings. And path finding is messed up with buildings. Also, stealth planes keep getting stuck in space really high and can't be killed, units fire stright up in a mad frenzy.

The game also tends to randomly crash with no message at all, please add a closed for x reason feature. These things in particular are driving me nuts.
User avatar
Comp1337
Posts: 2434
Joined: 12 Oct 2005, 17:32

Post by Comp1337 »

Why the hell shouoold we remove NAT transversal?
Removing features is stupid. And without it i cant host, because my router is borked and its portforwarding wont work.
Whats the problem with it anyway?
Tobi
Spring Developer
Posts: 4598
Joined: 01 Jun 2005, 11:36

Re: Remove nat traversal

Post by Tobi »

Orakio wrote:also, I notice when even playing in single play mode it uses network. Please get rid of this and have direct for single player. It's rediculous that I get sync errors when playing in single player if I get lag as well as iverflow errors.
1) You are wrong. The game does not use the network in single play mode.
2) You didn't get sync errors. You got delayed sync messages.
Orakio
Posts: 119
Joined: 25 Aug 2006, 16:41

Post by Orakio »

"my modem is borked yap yap yap" well then take it back under warrenty.

Single player does produce sync delays that is does not recover from even if the lag that caused them was temporary. Then is gets errors about a socket overflow which I'm pretty sure wouldn't happen if it didn't use network.

It says in the changes file that you should use port forwarding. The chanced are your modem isn't broken you just don't know how to do it ir have messed something up yourself. Go buy a new modem. If you get port forward that's a serious deficiency. I could understand a tiny number of people using nat traversal, occasionally you may get a situation that requires it, but judging by the number of people using it it is clear that people are using it because they can't figure out how to port forward. I can't connect to people using NAT traversal. I use NAT myself and have no problems and don't have to use NAT traversal.
User avatar
Das Bruce
Posts: 3544
Joined: 23 Nov 2005, 06:16

Post by Das Bruce »

Not everyone has the technical know-how to forward ports, no matter how trivial it may seem to you.
User avatar
KDR_11k
Game Developer
Posts: 8293
Joined: 25 Jun 2006, 08:44

Post by KDR_11k »

Perhaps you're starting Singleplayer incorrectly, you're supposed to use spring.exe or SpringSP, not tasclient.
colorblind
Spring Developer
Posts: 374
Joined: 14 Mar 2005, 12:32

Post by colorblind »

Sigh, why won't people listen to Tobi?

In singleplayer Spring does not send any data to the outside world. It does use its internal network protocol to send orders from the client to the internal server.

You are probably using an AI that is sending massive amounts of commands, causing Spring's internal server to overflow.

So don't blaim NAT traversal or your modem or whatever, just get an updated AI :).
User avatar
unpossible
Posts: 871
Joined: 10 May 2005, 19:24

Re: Remove nat traversal

Post by unpossible »

Tobi wrote:
Orakio wrote:also, I notice when even playing in single play mode it uses network. Please get rid of this and have direct for single player. It's rediculous that I get sync errors when playing in single player if I get lag as well as iverflow errors.
1) You are wrong. The game does not use the network in single play mode.
2) You didn't get sync errors. You got delayed sync messages.
how come xp sp2 security centre/nazi detects it trying to access network (even if it doesn't actually use it)?
Tobi
Spring Developer
Posts: 4598
Joined: 01 Jun 2005, 11:36

Post by Tobi »

It always binds a socket (and it has to, otherwise you couldn't play multiplayer using spring only, ie. no lobby). It doesn't use it for the local connections - it relays data internally by directly memcpy'ing senddata to the receiver's receive buffer.
Orakio
Posts: 119
Joined: 25 Aug 2006, 16:41

Post by Orakio »

Well it clearly uses some network when it shouln't need too. If the ai is sending loads of data it should just slow the game down not produce a load of errors. And I am using springSP.

Also I don't really understand, there's always someone somewhere willing to help people port map. I usually help people if they ask and trust me.
Last edited by Orakio on 10 Sep 2006, 13:36, edited 1 time in total.
Tobi
Spring Developer
Posts: 4598
Joined: 01 Jun 2005, 11:36

Post by Tobi »

It does not.

Clearly you include local buffers in your definition of networking, but I don't.

It is a known bug that spring can overflow some local buffers.
It is NOT true spring uses the network (as defined by the functionality the OS provides to pass around data between local/remote sockets).
Orakio
Posts: 119
Joined: 25 Aug 2006, 16:41

Post by Orakio »

c:\>netstat -anb | find "spring"
[spring.exe]
c:\>

That's convincing enough for me.
Tobi
Spring Developer
Posts: 4598
Joined: 01 Jun 2005, 11:36

Post by Tobi »

Tobi wrote:It always binds a socket
EDIT:
and here is the proof it does not send over the network:

Code: Select all

$ netstat -s -u
Udp:
    1897 packets received
    4 packets to unknown port received.
    0 packet receive errors
    1904 packets sent
$ game/spring
using read-write data directory: /home/tobi/wd/taspring/trunk/game/
using read-only  data directory: /home/tobi/wd/taspring/trunk/taspring-linux-data-0.72b1/
WARNING: can not access data directory: /usr/local/games/taspring/
WARNING: trying to create directory: /usr/local/games/taspring ... Permission denied
rts/System/Platform/Linux/SoLib.cpp:39: SoLib::FindAddress: /home/tobi/wd/taspring/trunk/game/AI/Helper-libs/build.so: undefined symbol: GetGroupAiVersion
$ netstat -s -u
Udp:
    1897 packets received
    4 packets to unknown port received.
    0 packet receive errors
    1904 packets sent
$
User avatar
Erom
Posts: 1115
Joined: 25 Apr 2006, 05:08

Post by Erom »

owned

Also, the crash with no reason is almost always an AI problem. If you are using the default AI (the old NTAI) I'd definetely recomend the newer versions, they are much more stable, and basically redesigned from the ground up to be more competitive.
User avatar
mehere101
Posts: 293
Joined: 15 Mar 2006, 02:38

Post by mehere101 »

NAT transversal works for me without fail. Removing it doesn't change anything. Don't like it? TOO BAD. Suck it up. Some of us have to use it.
esteroth12
Posts: 501
Joined: 18 May 2006, 21:19

Post by esteroth12 »

mehere101 wrote:NAT transversal works for me without fail. Removing it doesn't change anything. Don't like it? TOO BAD. Suck it up. Some of us have to use it.
QFT, my dad won't allow me to oopen any ports... he says that we will get a virus... :|
User avatar
Peet
Malcontent
Posts: 4384
Joined: 27 Feb 2006, 22:04

Re: Remove nat traversal

Post by Peet »

Orakio wrote:Please just get rid of it. It doesn't always work and people use it rather than figure out how to forward port and open holes in the firewall.

Lets get rid of groupAI's too, nobody uses them!
Orakio
Posts: 119
Joined: 25 Aug 2006, 16:41

Post by Orakio »

1: I know it doesn't go over the network in single player, but it still uses network resources.

2: It crashes for no reason with no ai.

3: If you're dad is being paranoid blackmail him. Tell him you'll tell the police that he's smoking pot, or that he touches you if he doesn't forward the port.

On a more serious note, as I use NAT, I don't see why it can't just be set to reverse direction for those with a port forwarded. It might also be easier to debug/fix if there was a description of each method somewhere.

Since I have udp 4672 forwarded I don't see why for those with no port forwarded it can't just send this to them to have the server connect to the client.
User avatar
LOrDo
Posts: 1154
Joined: 27 Feb 2006, 00:21

Post by LOrDo »

This topic sucks. Somebody pay attention to Tobi! HES A DEV, HE KNOWS STUFF.
Sheekel
Posts: 1391
Joined: 19 Apr 2005, 19:23

Post by Sheekel »

Exactly.
Locked

Return to “Feature Requests”