Χρόνια τα λεγα και ήμουν ο τρελός της παρέας...
Τα παρακάτω είναι από BMS developer στο forum του BMS:
https://www.benchmarksims.org/forum/sho ... ayer-Setup
BMS 4.34 - Multiplayer Setup
This is an recommendation by the BMS Dev Team, how to configure the server and the clients and what should be considered in order to get the best possible multiplayer experience.
This thread is not meant to discuss how to solve every individual installation.
1.1 General
Always read the available manuals. You can find the documention in your BMS installation folder under "..\Docs".
The preferred client connection type for Multiplayer in 4.34 is peer-to-peer (P2P) networking. There is no need to force Client-Server-Computing (CS) anymore. However, the new multiplayer code is able to handle both P2P and CS connections at the same time. As you can see from the chart, a CS client also gets its updates from the other P2P clients - only the routing is different.

The number of event packets that a single client sends or receives are equal in both cases (P2P and CS). Only the way a data packet takes, is sometimes directly, sometimes with an intermediate step via the server.
Due to the different routing, the transmission time from one client to another is potentially longer for CS, hence higher latency.
Summary: P2P or CS makes no difference to the amount or type of data that a single client sends or receives. Only the way of the data (and possibly the associated bandwidth request to the server and the time that data packets need from A to B) may vary.
1.2 Installation
We recommend a clean installation ("VANILLA") without any 3rd party modifications (theaters, aircraft, graphics, features, etc.) for server and clients. If you have successfully completed several multiplayer sessions, you can start to install step by step mods that are especially released for 4.34 and gradually checking that the multiplayer experience is not compromised. Yes, even if it does not appear at first, for example, even altered graphics can lead to problems in your Multiplayer environment.
1.2.1 Backup
You can easily make a backup of your existing 4.34 installation:
Copy your current installation folder from e.g. ..\\Falcon BMS 4.34\... to ..\\Falcon BMS 4.34 (Backup)\...
Start the official BMS 4.34 installer and select "Remove the product from your computer"
Reinstall BMS to the same folder as before (e.g. ..\\Falcon BMS 4.34\...)
Then copy dx9display.dsp as well as all *.lbk and *.key files from the ..\\Falcon BMS 4.34 (Backup)\User\Config... folder to ..\\Falcon BMS 4.34\User\Config...
Do NOT copy other files or install 3rd party theaters as well as any other public mods
Start Falcon BMS and check your controller, graphic and logbook settings in the simulation and you should be ready to GO.
If you want to use your previous installation again, just rename ..\\Falcon BMS 4.34\... to ..\\Falcon BMS 4.34 (VANILLA)\... and ..\\Falcon BMS 4.34 (Backup)\... to ..\\Falcon BMS 4.34\...
Next time you have again to rename ..\\Falcon BMS 4.34\... to ..\\Falcon BMS 4.34 (Backup)\... and ..\\Falcon BMS 4.34 (VANILLA)\... to ..\\Falcon BMS 4.34\...
There is no possibility on the server side to check whether the installation of a client complies 100% with the recommendations. Here you just have to trust the people you want to fly with.
2.1 Server
The server delivers and receives data to and from all clients. The correct setup of the host is therefore very important and its possibilities also limit the maximum number of clients. If you don't have a proper PC and internet connection for the server, you certainly will get issues in multiplayer.
If possible the server should always be dedicated for hosting. Stop all programs and update routines in the background that could potentially affect performance or bandwidth.
2.1.1 Server falcon bms.cfg
Make sure that the parameters listed below are set as follows. All information in gray refers only to a dedicated server that does not participate in the mission.
If you host a mission as a pilot yourself, then only pay attention to the parameters in black letters.
set g_bHiResTextures 0
set g_bUseAnalogIdleCutoff 0
set g_bReducePSFires 0
set g_bEnvironmentMapping 0
set g_bPixelLighting 0
set g_bVertexLighting 0
set g_bHdrLighting 0
set g_bHdrLightingStar 0
set g_bUseHeatHazeShader 0
set g_bUseMotionBlurShader 0
set g_bShowFarRain 0
set g_bShowRainDrops 0
set g_bShowRainRings 0
set g_bShadowMapping 0
set g_bCockpitShadows 0
set g_bFocusShadows 0
set g_bShadowOnSmoke 0
set g_bWaterNormalMapping 0
set g_bWaterEnvironmentMapping 0
set g_bEnvMapRenderClouds 0
set g_bEnvMapRenderFocusObject 0
set g_bHiResTextures 0
set g_bRequireSameAcdataMP 1
set g_bRequireSameTileSetMP 1
set g_nMPStartRestricted 0
set g_bServerHostAll 1
set g_nForceMinClientBwSetting 2048
set g_nRemoteControlSurfacesInterval 200
set g_bEnforceBandwidthLimits 0
2.1.1 Additional Server falcon bms.cfg settings
These additional parameters can be added to the server's config file if really needed.
g_bHostAllowsDubiousConnections 1 (Default)
Does allow dubious connections where port forwarding (2934-2935) is not properly set. However, in rare cases, ports may be forwarded correctly, but different port numbers are routed and shown in the Lobby. Nevertheless those clients are allowed to connect.
g_bHostDisableP2pForDubiousConnections 0 (Default)
If activated, dubious connections will automatically be forced to CS although they would work as P2P. This can be set to "1" in case it is figured that a specific connection is causing issues and/or in case you're hosting an "open session" with plenty of ppl you don't really know, and want to avoid the need for "network debugging". In those cases, "dubious" connections will automatically be forced to CS (even those who usually would work fine with P2P).
Summary: The defaults are fine and preferred. There is no need to prematurely adjust these settings, unless you have specific connection issues that can't be solved otherwise.
2.1.2 Bandwith Settings
Use a speedtest page like SPEEDTEST.NET and make sure your upload/download settings are 70% of your currently available bandwith.
(Example: 420670 * 70 / 100 = 294000 Download ... 80940 * 70 / 100 = 56000 Upload)

Remember that your connection can be different every time.
If you checked everything (firewall, ports, updates, background processes, etc.) and you are still having problems (pause, lags, hickups, times 2x, 4x, ...) during a multiplayer session, try to get closer to the 90% mark. In this case please do several (minimum 4-6) speedtests in a row and take the lowest value of all. Then set the upload and download bandwidth in BMS initially to 75% (instead 70%), if that is not enough go for 80%, etc. - if you still notice no improvement even at 90%, then your internet connection or that of the server is just not enough. The only thing you can do after all is to reduce the number of clients.
2.1.3 Maximum Clients
Your "Upload Bandwidth" value divided by 2048 should give you the maximum number of clients your server is able to host.
(Example: 56000 / 2048 - 1 = 26)

2.1.4 Server 3D
The Host always needs to commit to the 3D world first. If you are hosting the flight make sure you are in the flight that has the earliest take-off time.
If you want to setup a Dedicated Server, it is best to create a separate flight for the server to use as its seat. Frag any flight (e.g. C-17 at Fukuoka) and put it cold on the ground on a very remote airbase outside the combat zone. Enter it before other flights commit.


3.1 Client
The client also delivers and receives data to and from the server and all clients. The correct setup of the client is therefore also very important.
3.1.1 Client falcon bms.cfg
No special parameter settings are recommended here.
3.1.2 Bandwith Settings
Use a speedtest page like SPEEDTEST.NET and make sure your upload/download settings are 70% of your currently available bandwith.
(Example: 48940 * 70 / 100 = 33000 Download ... 5030 * 70 / 100 = 3500 Upload)

Even if your Internet Service Provider has granted you a fixed bandwidth, remember that the actual bandwith can fluctuate. It is recommended to measure a couple of times throughout the day, and pick the "lowest" numbers as your baseline. Better safe than sorry, right!?
If you checked everything (firewall, ports, updates, background processes, etc.) and you are still having problems (pause, lags, hickups, times 2x, 4x, ...) during a multiplayer session, try to get closer to the 90% mark. In this case please do several (minimum 4-6) speedtests in a row and take the lowest value of all. Then set the upload and download bandwidth in BMS initially to 75% (instead 70%), if that is not enough go for 80%, etc. - if you still notice no improvement even at 90%, then your internet connection or that of the server is just not enough. The only thing you can do after all is to reduce the number of clients.
3.1.3 Port Forwarding
Besides a stable (and fast) internet connection you will most likely need to open ports to allow BMS to work through it. Please refer to your router, firewall or internet service provider documentation on how to open up or forward ports.
BMS needs UDP ports 2934 and 2935 to be opened/forwarded.
IVC needs UDP ports 9987 to 9989 to be opened/forwarded.
3.1.4 Client shown as P2P
It is very important that every client can see and is shown for everybody as "P2P" in the BMS Comms "Lobby" - otherwise it can limit your multiplayer experience. If you see someone as CS it means, that he will only get data from the server. He should check his port forwarding, restart BMS and reconnect.
But if after checking all settings (firewall, port forwarding etc.) someone can connect only as CS, this can still be handled by the network code.
We hope this post, in addition to the information in the manuals, can help you to configure your multiplayer environment properly.