Page 1 of 10

Neo-EE

Posted: Sun Jul 28, 2013 4:21 am
by Omega
The project to try and get the old servers back up and running. Led by Jodocus_ with contributions from RealForce.

See: http://www.neoee.net/

Essentially a proper re-do of what this thread turned into: viewtopic.php?f=12&p=36135#p36135 (has previous information on the project)

Re: Neo-EE

Posted: Mon Jul 29, 2013 3:55 am
by RealForce
Great
NST2 Today 9:00 PM GMT_
http://www.neoee.net

Re: Neo-EE

Posted: Mon Jul 29, 2013 4:10 am
by Black Star
Hm sth strange: If i hit the link posted by RealForce
i come to the old site, where when you hit TestDay, theres nothing bout 2nd TestDay.

But when i manually enter the adress "neoee.net ", i come to an updated version of the site with information bout 2nd TestDay.

Just wanted to report in case other people having this issues too, they dont miss test day

Re: Neo-EE

Posted: Mon Jul 29, 2013 2:42 pm
by BigRon
I'm coming home!

Re: Neo-EE

Posted: Mon Jul 29, 2013 5:54 pm
by Jodocus_
Thanks to all testers of NST2!

In total, I could find 5 Bugs. Three of them were crashes that I could instantly fix and the other 2 bugs will remain for my further work. I think in about 3 weeks we will do another test (with an even more stable server). I hope that I can also add some new features until this day. Maybe inviting, kicking, muting and banning from games.

For all that could not join the Test Day, here is a screen shot: Image

Re: Neo-EE

Posted: Tue Jul 30, 2013 11:53 am
by Jodocus_
I have some interesting news for you:

TL; DR I found a way to enable everyone to be a game host in NeoEE (just like in GameRanger), even those who don't have the 1337 skills or the rights to open and forward ports in their router gateways!

------

This is how it works: User A and B join together in a VPN network (RealForce and me used Hamachi). Imagine user A wants to be the host but he can not forward the ports. Now, A starts some special patch software from me (in fact, it is a part of the NeoEE Titan Server!) and then he connects to the lobby. If he now hosts a game, all members of the VPN network will be able to join his room and start the game. However, those who did not joined the VPN network won't be able to join rooms of those people that created a game while using my special tool. The tool is, speaking simplified, "binding" your hosted games to the VPN network and not to the "raw internet".

Apparently, this has some obvious cons: everyone must be inside the additional VPN network to be able to join both games hosted by "normal" hosts that forwarded their ports and by VPN hosts, no matter if yourself can directly host or not.
If you cannot host, you additionally must run my tool in order to "bind" your games to the VPN network.

Of course there are ways to simplify it, but doing so will exceed by far my capabilities (for a One-Man-Project): Create an own VPN software, put it into a DLL and low-level patch some original Empire Earth DLLs (like TCP Protocol.dll or others) in that way that when the DLL is loaded, it will also load the VPN DLL to automatically join the NeoEE VPN network. Then you wouldn't need to install and start any external tools like Hamachi. You just "abuse" some Empire Earth DLLs as proxy DLL for your own and the VPN gets automatically started when you launch Empire Earth.

I cannot do this alone (additionally), so anyone that feels that he can help doing this (either implementing the VPN network or low-level patching DLLs) is hereby invited to apply here.

Consider that this would be a significant advantage over the old lobby.

Re: Neo-EE

Posted: Tue Jul 30, 2013 3:58 pm
by Jodocus_
Alternatively, we may implement a system I called NPS instead of a VPN network.
Look the image below: this system doen't require anyone to join a VPN network at all. If you are behind a NAT firewall and cannot host, you will install a firewall server on your computer. As soon as you started it and connect to the lobby, you will be able to host. The joiners don't have to do anything. For them, everything keeps the same!

Easily spoken: "EnableHostingForMe.exe".

The Firewall Server will together with the proxy server emulate the direct connection between player and host. It is slower than direct connection of course, but if ping time keeps under 600ms, there will be no lag in Empire Earth.

Black Arrows mean "Connect". When you are inside a NAT behind a firewall, you can connect to anywhere, but nobody can actively connect to you. Not to confuse with sending and receiving data, that works in both directions.

Red Arrows mean "Sending data on an open connection".
Green Arrow means the actual Empire Earth game traffic: those packets that are sent during the game.

Imagine the possibilities on this: You can even in-game kick a lagger using this technique. I will experiment on this within the next weeks, but it looks quite promising.

If you feel like that you could help, apply!

Re: Neo-EE

Posted: Tue Jul 30, 2013 4:23 pm
by Captain Nemo
Sounds brilliant tbh, if u can make it work. Then u would have a "product" that should be able to dominate GR's EE, with the right advertising mouth-to-mouth style.

Re: Neo-EE

Posted: Tue Aug 13, 2013 5:49 pm
by Jodocus_
The friend list is done, it finally works now!

I am glad to announce that we are almost done. Only Banning and Mute is missing, then the server has all features implemented! Next week will be NST3 with friend list working, I hope it is the last stability test and the server won't crash any more. From today on, I can say with 100% certainty: NeoEE will work!

Re: Neo-EE

Posted: Tue Aug 13, 2013 6:16 pm
by Black Star
Fuck awesome !

Re: Neo-EE

Posted: Tue Aug 13, 2013 6:36 pm
by Captain Nemo
WOOHOO!!

Re: Neo-EE

Posted: Tue Aug 13, 2013 9:30 pm
by Ghost
You could get around the port forwarding by having everyone run a program that redirects the traffic through a different port that isn't commonly firewalled by routers. In theory you would use a packet sniffer to grab raw incoming packets from port X (unfirewalled) and then retransmit them to yourself, locally, to port Y (firewalled from outside, so won't block local retransmission). The same would be true for outgoing packets. The only delay would be how fast the program could grab and retransmit the packets, once for the host and once for the client.

Obviously there's other problems from certain use cases that need to be considered during implementation but this wouldn't require a central server or a VPN tunnel.

Re: Neo-EE

Posted: Wed Aug 14, 2013 2:02 am
by Jodocus_
>> You could get around the port forwarding by having everyone run a program that redirects the traffic through a different port that isn't commonly firewalled by routers.

That is what I don't like. I want as less as possible extra programs, or we can not compete with GameRanger. NPS only requires the host to run an extra program. Also, the lobby game list must work (in short: when you host a game, your IP gets published to all others, therefore I must proxy it if I do NPS, this is what the proxy server in NPS does).


>> In theory you would use a packet sniffer to grab raw incoming packets from port X (unfirewalled) and then retransmit them to yourself, locally, to port Y (firewalled from outside, so won't block local retransmission). The same would be true for outgoing packets.

Yeah, this is how NPS then will work: Client A <----- Proxy Server ----> Firewall Server <-----> Client B (Host). Only the communication between Proxy and Firewall Server and Client A and Proxy server goes through different computers in different subnets.

>> The only delay would be how fast the program could grab and retransmit the packets, once for the host and once for the client.

I can program really high performant software, the program speed won't be actually the problem. The problem is the network latency. If we chose to put the server into europe, a ping from North America may take 150ms, a ping from South America maybe 200ms. Since Ping = time for echo going out and coming back, the ping of 2 players playing in America via NPS may be around 300 - 400 (in worst case, I hope). Some tests showed that EE will start to stop the game and show those slugs at 600ms latency. So there is a chance to try.

>> Obviously there's other problems from certain use cases that need to be considered during implementation but this wouldn't require a central server or a VPN tunnel.

Our tests with Hamachi + Lobby worked fine and fast (since Hamachi will create a true Peer to Peer connection). Problem is that everyone would have to run Hamachi (also guys that just want to join) and the host requires still to run a little extra tool. That's why I dont like it.

Re: Neo-EE

Posted: Sat Aug 17, 2013 6:20 am
by Jodocus_
Okay guys, I hope you all noticed that on next Wednesday there will be NST3!

Depending on the amount of crashes during this test I will decide if we must do a NST4 or not. In NST3, you are able to do almost everything: chatting, friends, ignoring, blocking, inviting, asking for joining, muting, kicking, banning and all stuff you can imagine on the old lobby. However, changing your password or retrieving lost passwords won't work in NST3. Also, you won't get auto-muted if you spam in chat (yet). This all will come later.

Have a look at http://www.neoee.net for more information.

Re: Neo-EE

Posted: Wed Aug 28, 2013 9:13 pm
by Black Star
Servers up and running!!! Works fine for everyone until now! We just had some nice full games (was pre but w/e) Keep spreading the word !

P.S.: Awesome job jodocus and RealForce, thanks to Pandu aswell! We look forward to NPS and the final start of NeoEE!