From 329b602788bc60fdb3dfa37354e7031d30001323 Mon Sep 17 00:00:00 2001 From: James Packer Date: Tue, 21 Apr 2026 18:33:17 +0100 Subject: [PATCH 1/2] Improve multiplayer example scenario, so we have different vessels, and each vessel can be seen from the other. --- bin/Scenarios/MultiplayerTest_mp/environment.ini | 2 ++ bin/Scenarios/MultiplayerTest_mp/othership.ini | 16 +++++++++------- bin/Scenarios/MultiplayerTest_mp/ownship.ini | 4 ++-- 3 files changed, 13 insertions(+), 9 deletions(-) diff --git a/bin/Scenarios/MultiplayerTest_mp/environment.ini b/bin/Scenarios/MultiplayerTest_mp/environment.ini index 951fcaf3..32cb9cf9 100644 --- a/bin/Scenarios/MultiplayerTest_mp/environment.ini +++ b/bin/Scenarios/MultiplayerTest_mp/environment.ini @@ -7,4 +7,6 @@ SunRise=6 SunSet=18 VisibilityRange=8 Weather=1 +WindDirection=0 +WindSpeed=0 Rain=0 diff --git a/bin/Scenarios/MultiplayerTest_mp/othership.ini b/bin/Scenarios/MultiplayerTest_mp/othership.ini index a23805e1..fa4c28cb 100644 --- a/bin/Scenarios/MultiplayerTest_mp/othership.ini +++ b/bin/Scenarios/MultiplayerTest_mp/othership.ini @@ -1,15 +1,17 @@ Number=2 Type(1)="Waverley" -InitLong(1)=-9.98135 -InitLat(1)=50.0358 +InitLong(1)=-9.9847202 +InitLat(1)=50.035011 +mmsi(1)=0 Legs(1)=1 Bearing(1,1)=180 Speed(1,1)=10 Distance(1,1)=0.1 -Type(2)="Waverley" -InitLong(2)=-9.97881 -InitLat(2)=50.0345 +Type(2)="Protis" +InitLong(2)=-9.9825144 +InitLat(2)=50.030331 +mmsi(2)=0 Legs(2)=1 -Bearing(2,1)=180 -Speed(2,1)=8 +Bearing(2,1)=10 +Speed(2,1)=10 Distance(2,1)=0.1 diff --git a/bin/Scenarios/MultiplayerTest_mp/ownship.ini b/bin/Scenarios/MultiplayerTest_mp/ownship.ini index bd7c4067..d3f1ae99 100644 --- a/bin/Scenarios/MultiplayerTest_mp/ownship.ini +++ b/bin/Scenarios/MultiplayerTest_mp/ownship.ini @@ -1,5 +1,5 @@ ShipName="Protis" -InitialLong=-9.98486 -InitialLat=50.0371 +InitialLong=-9.9848604 +InitialLat=50.037102 InitialBearing=180 InitialSpeed=10 From 0e0d62be0cc773f478675f7e97b5ee2dad2a8107 Mon Sep 17 00:00:00 2001 From: James Packer Date: Tue, 21 Apr 2026 18:41:45 +0100 Subject: [PATCH 2/2] Documentation update. --- doc/images/multiplayer_1.png | Bin 0 -> 51330 bytes doc/images/multiplayer_2.png | Bin 0 -> 9010 bytes doc/index.html | 2 +- doc/multiplayer.html | 35 +++++++++++++++++++++++++---------- 4 files changed, 26 insertions(+), 11 deletions(-) create mode 100644 doc/images/multiplayer_1.png create mode 100644 doc/images/multiplayer_2.png diff --git a/doc/images/multiplayer_1.png b/doc/images/multiplayer_1.png new file mode 100644 index 0000000000000000000000000000000000000000..a965fa1e837b6485d995b9a25cbfcc557a9b7641 GIT binary patch literal 51330 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 literal 0 HcmV?d00001 diff --git a/doc/index.html b/doc/index.html index 8002c6e2..009007df 100755 --- a/doc/index.html +++ b/doc/index.html @@ -44,7 +44,7 @@

Other programmes

File specifications

diff --git a/doc/multiplayer.html b/doc/multiplayer.html index 651f785c..5e5d4d6c 100755 --- a/doc/multiplayer.html +++ b/doc/multiplayer.html @@ -27,28 +27,43 @@

Introduction

Bridge Command can be used in a multiplayer mode, where multiple users can control vessels in the same scenario, and interact. This mode is intended for users on a single network (wired or wireless), but could be used over the internet.

-

This feature is currently experimental. Please provide feedback and suggestions for developments.

-

Starting a multiplayer session

You will need to run one 'Multiplayer hub' for each session. This can run on a dedicated computer, or on the same computer as one of the Bridge Command sessions.

-

-To start a multiplayer session, find out the hostname or IP addresses of all your users' computers, and ask them to start Bridge Command. -Instead of selecting a scenario, they should click the multiplayer option and click 'OK'. -

+

Important: The Bridge Command sessions for all users must be started first. Each user should start Bridge Command on their computer, +and instead of selecting a scenario, the 'Multiplayer' checkbox should be selected.

-

-When all users have done this, then you can start the mulitplayer hub, and select a multiplayer scenario. Type in the hostnames or IP addresses -of the users' computers, separated by commas. The order you type these in will match the user to the ship in the scenario. -

+Multiplayer mode selection in Bridge Command + +

The Hostname input can normally be left blank. This is only needed if you are using secondary displays for a single ship in the multiplayer session.

+ +

Then click OK, and you should see a screen like this:

+ +Multiplayer message when waiting to start + +

This screen shows the hostname and port for data. By default, the port is 18304. When all users have started Bridge Command, and are on the 'waiting' +screen, then you can start the mulitplayer hub, and select a multiplayer scenario. In the hostnames list, type in the hostnames or IP addresses +of the users' computers, separated by commas. The order you type these in will match the user to the ship in the scenario. The hostnames are shown in the 'waiting' +screen in the Bridge Command session. If you are using a non-standard port (the standard port is 18304), you can enter the hostname and port in the format hostname:portNumber.

+ +Multiplayer Host + +

When the scenario is running, each user should see their own Bridge Command session, and the multiplayer hub will start. If required, the simulation can be paused for all users.

+ +

Making a new multiplayer scenario

If you want to make a new multiplayer scenario, you can use the scenario editor to do this, selecting the 'Multiplayer' option and reading the instructions.

+

The main points are that the 'own ship' entry in the simulation is ignored, and that the 'other ships' become the controlled vessels in the multiplayer scenario. The initial speed and heading +of these ships is set by creating an initial 'leg' with the required speed and heading. If the scenario has more vessels than multiplayer users, the additional vessels will not appear in the scenario.

+ +

The multiplayer scenario name must end with '_mp'.

+

Technical information