Sorry your browser is not supported!

You are using an outdated browser that does not support modern web technologies, in order to use this site please update to a new browser.

Browsers supported include Chrome, FireFox, Safari, Opera, Internet Explorer 10+ or Microsoft Edge.

FPSC Classic Product Chat / Multiplayer [Fixed Once and For All] ... ?

Author
Message
Sting
15
Years of Service
User Offline
Joined: 18th Jan 2011
Location:
Posted: 1st Jun 2011 14:48
I decided to start this thread for a purpose. So we can all still build games (yes with 118+) and not have to pointlessly continue adding more threads to the board without a fix. I have a vast knowledge of computers, networking and programming and yes, I hit a barrier in one of my projects.

To my dismay, I kept getting the completely infamous 'Waiting To Join...' Error. Why? Who knows, but one thing is for sure, if people want to jump on the bandwagon and get this fixed we can start right here as a community.

The ONLY reason I posted this thread was because I know that MP DOES work, why? Because I built a simple map 8x8 segments wide, 3 segments high with standard WW2 characters and the colt45 gun. Compiled with 118 - B17 and it works! I could connect locally AND remotely. So where is the issue?

Not sure, but it's in the engine (USER ERROR - NOT THE ENGINE).

All my router/network settings where the same for both games. Port Forwarding was setup for 2303 UDP to my server computer. With the heavy mapped game it allowed users to join but had the 'Waiting To Join' message, BUT they could press T and talk and I received the messages, so they were actually connecting and communicating, but just not having the ability to spawn.

With the simple test I did, they were able to connect, talk and spawn and play. So now it's time to find the missing link to hopefully rid all the questions regarding router settings, firewall myths etc.

Here is my setup:
D-Link 615 Router (Port Forwarding 2303 to local IP 107)
Running Avast Antirvirus AND Firewall (No Rules created)

So what do we know so far? Well I do at least :p that port forwarding on 2303 works to my local IP and routes all the correct information from the engine. But why not with the proper game? I'm not sure, but a good start maybe to look at how FPSC initialises maps upon start of the build.

The heavy game map I created started off in Single Player mode on FPSC (I know I shouldnt have done but needed to alter lighting scale). Then after it was finished I changed the preferences to Multiplayer, baring in mind I had already made EVERYTHING static as I went along in SP mode. So when it came to going over to MP via prefs it wouldn't have to try and convert all the entities to static. This is where I will need either MOD Devs or Lee to confirm this question...

If you start a new map and select Multiplayer from the preferences what changes?

Is it the fact I created the map in SP mode, then not compatible with MP mode even though there is NO difference visually with the way the level is built? (ie: everything static, no scripts, no dynamics) (p.s when I changed dynamic ents to static ents I also changed the main AI scripts to default.fpi on EVERY single entity).

I just want to assure the whole community that port forwarding DOES indeed work, we cannot blame other router manufacturers because port forwarding all works in the same way. We obviously cannot blame any kind of soft Firewall on the computers as evidentally it works on mine with no firewall rules created.

I am going to spend today and tomorrow trying to figure out exactly what it is, if I could find a few people from the community willing to help out on creating some MP test maps so we could all try and wittle down the problem and bring a solution to the table it would benefit everybody (especially the 1000+ threads on multiplayer).

If this seems like a rubbish idea or not worthwhile mods please feel free to delete, however, I would like to use this thread as a central resource for MP development, once we have the solution finalised I will clean up this post and other posts to water it down to include just the basic principals in this whole problem.

Want your games to look professional? Website! - Thread!
Benjamin
23
Years of Service
User Offline
Joined: 24th Nov 2002
Location: France
Posted: 1st Jun 2011 16:05 Edited at: 1st Jun 2011 16:07
Quote: "Why?"


I think it could be for a multitude of reasons. For me it was just a case of making sure it was allowed by my firewall, and forwarding UDP port 2303 to my computer. As for being able to send and receive messages but still having that "waiting to join" message, that has to be an engine bug. Perhaps the message that says "let's start the game" is not being transmitted or is being lost. As far as I know the networking uses UDP exclusively, and unless TGC have written a system to ensure reliable transfer of data (since UDP packets can be dropped at any time) bugs like this are going to occur. In fact I'm willing to bet that this is the problem for some.



Support a charitable indie game project!
Sting
15
Years of Service
User Offline
Joined: 18th Jan 2011
Location:
Posted: 1st Jun 2011 19:23
Indeed UDP drops way too many packets than TCP but the engine in whole isn't stable enough to pull off TCP routines imho.

It could be for a multitude of reasons indeed, but I have already started the simple process of narrowing down by building a simple 8x8 square map, 1 light, 8 characters and 8 guns. It worked.

Exactly same configuration, same engine build with the more intense map and we get the waiting to join error. Obviously it is an engine issue, but if we can find what the problem is without digging into the code we could find a workaround?

Want your games to look professional? Website! - Thread!
Soviet176
16
Years of Service
User Offline
Joined: 19th Sep 2009
Location: Volgograd
Posted: 1st Jun 2011 20:50
Hi Sting! I am a Network administrator in my job in real life. I also have forwarded my ports, worked with my firewalls and various other things. It is, infact a bug. There is a fix! Project Apex, which was created by hockey kid has fixed this bug. Multi-player works perfectly with his mod. Project Apex will be redoing various aspects of MP. So be sure to watch his thread.


Sting
15
Years of Service
User Offline
Joined: 18th Jan 2011
Location:
Posted: 1st Jun 2011 20:56
Soviet, I spent 5 years in the field but couldn't find a challenge anymore so I hired someone else to do it for the company!

I have been keeping my eye on Project Apex' thread by HockeyKid and it does look promising, after Project Blue I can only assume it WILL be a promising mod. However, not to rant, but shouldn't this 'fix' be passed onto Lee for incorporation into the stock engine? As, without causing a ruckus, MP IS in fact advertised on the FPSC box itself and the website?

Whilst we're on it, do we know what was causing the bug? As I stated earlier, on the exact same setup I have 2 different compiled games, 1 works, the other doesn't... would be interested to find out what is causing it as other members seem to have the idea that MP isn't a priority and won't be worked on at all (stock side)

Want your games to look professional? Website! - Thread!
Soviet176
16
Years of Service
User Offline
Joined: 19th Sep 2009
Location: Volgograd
Posted: 2nd Jun 2011 02:17
I am not all to sure on what was causing it, thats something you would have to ask HK. But I like how he is keeping it his mod exclusive because, I don't know about you, I am sick and tired of hearing "You have to forward your ports" to people who have been in the IT field many years. I know what a port is and what it does. It is NOT the ports thats the problem. I keep telling people that but I only get the same answer. Like you mentioned with the packet loss, I do believe there is major packet loss with some maps, and some clients.

In the long run, either lee will fix it, or it will be an exclusive feature to only Apex. I suppose we will see after 1.18 is released.


raymondlee306
16
Years of Service
User Offline
Joined: 24th Oct 2009
Location: Ohio
Posted: 2nd Jun 2011 03:06
I did a test a few weeks ago from me here in Ohio to a buddy in D.C.
He could connect to me, but I could not connect to him (waiting to join). The first rule to electronics is if it does not work, Unplug it, wait 2 minutes and try again. So he unplugged his router waited 2 minutes and plugged it back in. That was the only change and then I could connect to him and vise versa. All problems went away. I don't know if that helps or throws another variable in the problem.
Soviet176
16
Years of Service
User Offline
Joined: 19th Sep 2009
Location: Volgograd
Posted: 2nd Jun 2011 03:20
Quote: " I could connect to him and vise versa. All problems went away."


Have already tried this, but what it sounds like he did was reset the router. So his ports were reset and so was the built in fire wall. Some maps do in fact work. Others just won't. For reasons I can't explain.


raymondlee306
16
Years of Service
User Offline
Joined: 24th Oct 2009
Location: Ohio
Posted: 2nd Jun 2011 05:26
Quote: "what it sounds like he did was reset the router. So his ports were reset and so was the built in fire wall"


That makes sense. I got a neighbor who is a professional IT guy for multiple large corporations. I'm gonna show him this thread and explain the problem. He has never failed to answer a question for me yet. It will only cost me a few 's So I don't see any harm in asking him.
Sting
15
Years of Service
User Offline
Joined: 18th Jan 2011
Location:
Posted: 2nd Jun 2011 10:56
Soviet I am with you on that, I myself have a wealth of experience and don't even find a challenge anymore, so I stick to programming now to innovate, I tried EVERYTHING I knew and I knew I was right, all the ports had been forwarded correctly.

It was only when I built the simple 8x8 map with 1 character it worked, however, since yesterday I have started building a new map with custom stock and I keep testing it every 5 segments with a build. So far so good!

I do hear you on the matter of whining threads, however, keeping this fix solely to Project Apex isn't going to push these threads away as people who buy just the stock engine and can't afford or don't want to buy Project Apex are left without a fix?

Want your games to look professional? Website! - Thread!
Benjamin
23
Years of Service
User Offline
Joined: 24th Nov 2002
Location: France
Posted: 2nd Jun 2011 14:32
Regardless of what any mod maker claims, the multiplayer is not going to work flawlessly unless the networking library has some kind of reliable transfer mechanism for the important messages (such as the connection message). Without this all you can do is try to reduce the symptoms. So with that in mind, I'm very doubtful that Project Apex completely fixes the problem unless it replaces the networking code with its own.

It's bizarre that some maps seem to have a higher occurrence of this problem than others, perhaps performance has an impact here?



Support a charitable indie game project!
JRH
19
Years of Service
User Offline
Joined: 8th Jul 2006
Location: Stirling, UK
Posted: 2nd Jun 2011 16:24
Could just replace all FPSC's multiplayer commands altogether? I considered changing it over to a more efficient and functional 3rd party plugin. Another problem people may have is that FPSC has to work through firewalls, and so many antivirus, firewall and routers will block it as it is unrecognized.

Sting
15
Years of Service
User Offline
Joined: 18th Jan 2011
Location:
Posted: 2nd Jun 2011 22:18 Edited at: 2nd Jun 2011 22:22
JRH as a developer in the DBP pro boards I didn't expect that from you... FPSC uses 2303 UDP, you can't get anymore basic than that, so your post is completely argumentative...

THIS is the exact reason why the 100,000,000+ other multiplayer threads get abandoned in the FPS Chat board because people don't get a real answer.

Myself and Soviet have confirmed thoroughly that UDP 2303 passes communication and connects (even with packets dropped) the problem itself is within the engine, but if FPSC is gonna advertise Mutltiplayer as a 'feature' and it's buggy, yet another developer has a 'Fix' why isn't this implemented in stock?!

EDIT: Benjamin, until FPSC moves to TCP instead of UDP there will be a LOT more problems to foresee. I, nor anyone else in this thread is asking for additional features, what we are asking for is a robust MP engine that works, if it is advertised, which it is.

Want your games to look professional? Website! - Thread!
JRH
19
Years of Service
User Offline
Joined: 8th Jul 2006
Location: Stirling, UK
Posted: 3rd Jun 2011 01:42
You are correct, it is a problem with the FPSC engine. I believe the most efficient approach would be to completely rewrite FPSC to work client-server, and preferably using a trusted plugin which can bypass the windows firewall.

I have looked into this, and I do infact plan to do some testing with FPSC and different multiplayer setups. If the outcome is promising, then you may expect the release of a new multiplayer mod. At the moment me and Ched80 are testing some features that we will combine to create a mod. At the moment we are waiting for the next stable release of FPSC to begin, which we anticipate will be soon.

Here's to a better MP FPSC

Sting
15
Years of Service
User Offline
Joined: 18th Jan 2011
Location:
Posted: 3rd Jun 2011 13:36
Amen to that! If you need me for anything drop me an email!

Want your games to look professional? Website! - Thread!
Wraith Staff
19
Years of Service
User Offline
Joined: 3rd Apr 2007
Location: Hamilton, OH
Posted: 3rd Jun 2011 14:07
@JRH: If MP went client-server, couldn't that allow for some sort of co-op MP as well (or at least information for dynamic objects and scripts to be saved server side)?

New sig in the process of being made
Sting
15
Years of Service
User Offline
Joined: 18th Jan 2011
Location:
Posted: 3rd Jun 2011 14:18
No... it would just create a much better communication platform between client and server. Dynamic objects and scripts still have to be initialised and used through the client engine. As for co-op, this could be achievable if someone took the time to create such a feature!

Want your games to look professional? Website! - Thread!
JRH
19
Years of Service
User Offline
Joined: 8th Jul 2006
Location: Stirling, UK
Posted: 3rd Jun 2011 18:43
Actually, with some work it may be possible to sync the details of entities such as health, state and activated. If the engine then functioned normally, this would allow the use of dynamic entities such as doors in multiplayer, as well as synchronized scripts. This would, however, create extreme amounts of lag even if fully optimized. But who knows? It might happen.

Anyway, I decided to dig out an old server code I had. The command lines are still rather buggy, but other than that it works ace. If I can prepare this as an FPSC server, the main task will be the modding.

Sting
15
Years of Service
User Offline
Joined: 18th Jan 2011
Location:
Posted: 3rd Jun 2011 19:01
Hit up a project page @ google code and let's get cracking?

Btw, doors are already successful in MP (tested with auto/use types)

Want your games to look professional? Website! - Thread!
Benjamin
23
Years of Service
User Offline
Joined: 24th Nov 2002
Location: France
Posted: 3rd Jun 2011 21:27 Edited at: 3rd Jun 2011 21:29
Quote: "Benjamin, until FPSC moves to TCP instead of UDP there will be a LOT more problems to foresee."


If it moves completely over to TCP there will be even more problems because it just simply isn't suitable for real-time games. For simplicity I'd suggest implementing a reliable transfer channel using TCP, and use UDP for the regularly-updated information such as player position. At the end of the day it's not really necessary when you can implement a reliable protocol on top of UDP, but simply using TCP for it will be easier for a less experienced network programmer.

Quote: "I believe the most efficient approach would be to completely rewrite FPSC to work client-server"


I'm pretty sure that's how it already works; all data is routed through the server.

Regardless of who decides to take on this rather large challenge, I would recommend researching how existing engines do it, for example Unreal Engine.



Support a charitable indie game project!
JRH
19
Years of Service
User Offline
Joined: 8th Jul 2006
Location: Stirling, UK
Posted: 18th Jun 2011 12:20
Quote: "I'm pretty sure that's how it already works; all data is routed through the server."


Well... sort off. The server software is built into the client (like many games). More complex server software could be permitted outside of this, and that is what I want to make.

Sting
15
Years of Service
User Offline
Joined: 18th Jan 2011
Location:
Posted: 18th Jun 2011 13:23
Q3 engine being a prime example of fluent server/client programming! Simple enough too!

Want your games to look professional? Website! - Thread!
cooldude123 456 7890
15
Years of Service
User Offline
Joined: 4th Jul 2010
Location:
Posted: 23rd Jun 2011 17:31
Do all entities need to be static? I am getting the same problem over LAN...
AJ Schaeffer
16
Years of Service
User Offline
Joined: 22nd Aug 2009
Location: Jacksonville,FL
Posted: 23rd Jun 2011 17:52
Yes all entities MUST be static.
FPSC's multiplayer cannot support dynamic entities.

Making someone's day a little better because of one of my models means a lot to me.
Sting
15
Years of Service
User Offline
Joined: 18th Jan 2011
Location:
Posted: 23rd Jun 2011 19:15
The solution is rather simple, if you're intending on building a multiplayer map you MUST start the map from MP mode in the editor, switching from SP to MP at any time will completely throw the code off course for MP and you will get the 'Waiting To Join Error'

Want your games to look professional? Website! - Thread!
veer
16
Years of Service
User Offline
Joined: 3rd Mar 2010
Location:
Posted: 23rd Jun 2011 22:56
@Sting

are you sure .....
Sting
15
Years of Service
User Offline
Joined: 18th Jan 2011
Location:
Posted: 23rd Jun 2011 23:05
After 98 builds, pretty! lol

Just ensure you have a static IP on your LAN set, port forwarding setup correctly forwarding port 2303 UDP to that static IP, there is absolutely nothing else in the way.

I have built 5 MP maps from the ground up in mp mode using default light ranges and all 5 have worked with 6 players connected...

Want your games to look professional? Website! - Thread!
JRH
19
Years of Service
User Offline
Joined: 8th Jul 2006
Location: Stirling, UK
Posted: 23rd Jun 2011 23:14
That you managed to get anything to work in FPSC is a miracle. Good job!

Sting
15
Years of Service
User Offline
Joined: 18th Jan 2011
Location:
Posted: 23rd Jun 2011 23:15
JRH so far so good, had 10 beta testers with a variety of system setups and os's and not a hitch thus far...

Want your games to look professional? Website! - Thread!
PhillipB
15
Years of Service
User Offline
Joined: 14th Feb 2011
Location:
Posted: 24th Jun 2011 01:44
I have been playing around with multiplayer since I first bought FPSC (that's why I bought it). I've set up port forwarding and had no issues with games locally. However I can't get a single game to play when someone is coming in from from the net. It took me hours on the phone with my ISP before I finally managed to get a tech specialist to admit that my ISP blocks port 2303 on their end and that there was no way for him to unblock it. I'm not sure if I believe that part BUT after everything is said and done it's not a bug with the software it's my ISP bad thing is in this area they are the only broadband, other wise it's back to dialup which defeats the purpose.
Hockeykid
DBPro Tool Maker
18
Years of Service
User Offline
Joined: 26th Sep 2007
Location:
Posted: 24th Jun 2011 05:19
Quote: "So with that in mind, I'm very doubtful that Project Apex completely fixes the problem unless it replaces the networking code with its own."


Actually, Soviet himself has tested with me. It does in fact fix the waiting to join bug, (though you do still need to port forward), but I will agree, FPSC multiplayer does need a better multiplayer system altogether.

raymondlee306
16
Years of Service
User Offline
Joined: 24th Oct 2009
Location: Ohio
Posted: 30th Jun 2011 03:59
Stupid question time...port forwarding is done in your router, correct?
Sting
15
Years of Service
User Offline
Joined: 18th Jan 2011
Location:
Posted: 30th Jun 2011 13:50
Quote: "Stupid question time...port forwarding is done in your router, correct?"


Yes it is, usually under the 'Advanced' or 'Rules' tab...

Want your games to look professional? Website! - Thread!

Login to post a reply

Server time is: 2026-07-01 10:47:56
Your offset time is: 2026-07-01 10:47:56