Selaa lähdekoodia

Merge pull request #98 from o3de/multi-machine-workflow-template-updates

Updating Multiplayer Launchers Workflow Tests to follow a Workflow setup and clean up the setup instructions.

Signed-off-by: FuzzyCarterAWS <[email protected]>
Fuzzy Carter 2 vuotta sitten
vanhempi
commit
78e9ff27ae

+ 72 - 61
testing-guidance/workflow-tests/multiplayer/multi-machine-multiplayer-workflow-tests.md

@@ -1,74 +1,85 @@
-# Testing Multiplayer Launchers on Multiple Machines
+# Multiplayer Launchers Workflow Tests
 
-This test is intended to verify successful connection between separate machines on the same network.  Ideally this is completed with a Linux machine as server and any number of Windows machines as clients, but it can be completed with any combination.
+This test is intended to verify successful connection between separate machines on the same network. Ideally this is 
+completed with a Linux machine as server and any number of Windows machines as clients, but it can be completed with 
+any combination.
 
 ## Prerequisites
 
-**All machines used for this test should be on the same Network**
-
-**Acquire and Compile MultiplayerSample project** ( [https://github.com/o3de/o3de-multiplayersample](https://github.com/o3de/o3de-multiplayersample) )
+* All machines used for this test should be on the same Network.
+* Acquire and Compile MultiplayerSample project. 
+  * [MultiplayerSample GitHub](https://github.com/o3de/o3de-multiplayersample).
+* Server machine has completed its setup.
+* All client & server machines have built MultiplayerSample project.
+  * For Minimum Compiling:
+    * Server machines should only build `MultiplayerSample.ServerLauncher`.
+    * Client machines should only build `MultiplayerSample.GameLauncher`.
 
 **Set Up for the Server Machine:**
 
-These steps only need to be done on the 1 machine that will be acting as the server/host for the test
-
-### Linux:
-
-1.  Open a terminal window
-2.  Enter “sudo ufw allow from any to any port 33450 proto udp”
-3.  Enter “sudo ufw status verbose”
-4.  Check that rule(s) exist for port 33450 with action “ALLOW IN”
-5.  Enter “ifconfig”
-6.  Note the inet ip address found in the first block of information, this address will be used by the clients to connect to the server machine
-
-Cleaning up after testing:
-
-1.  Open a terminal window
-2.  Enter “sudo ufw status numbered”
-3.  In the list, note the number for the first entry of your created 33450 rules
-4.  Enter “sudo ufw delete #” where ‘#’ is the number assigned to the rule
-5.  Press ‘y’ to confirm
-6.  Repeat steps 2-5 to remove the second entry (the number for the entry will have updated after deleting the first)
-
-### Windows:
-
-1.  Open Windows Defender Firewall
-2.  Click Advanced Settings
-3.  Click Inbound Rules
-4.  Click New Rule
-5.  Click Port, then Next
-6.  Click UDP
-7.  If it’s not already selected, select Specific local ports and enter 33450, then Next
-8.  Click Allow the connection, then Next
-9.  Select Network types you’d like to allow connection over (Public shouldn’t be necessary, but you can leave it as the default), then Next
-10.  Name the rule, then Finish
-11.  Open a cmd window
-12.  Enter “ipconfig”
-13.  Note the IPv4 address, this will be used by the clients to connect to the server machine
-
-Cleaning up after testing:
-
-1.  Open Windows Defender Firewall
-2.  Click Advanced Settings
-3.  Click Inbound Rules
-4.  Find the rule with the name that was given
-5.  Right-Click the rule and Select Delete
-6.  Confirm the dialog
+These steps only need to be done on the 1 machine that will be acting as the server/host for the test.
+
+<details>
+
+<summary>Linux Setup</summary>
+
+1.  Open a terminal window.
+2.  Enter `sudo ufw allow from any to any port 33450 proto udp`.
+3.  Enter `sudo ufw status verbose`.
+4.  Check that rule(s) exist for port 33450 with action `ALLOW IN`.
+5.  Enter `ifconfig`.
+6.  Note the inet ip address found in the first block of information, this address will be used by the clients to connect to the server machine.
+
+*Cleaning up after testing*
+
+1. Open a terminal window.
+2. Enter `sudo ufw status numbered`.
+3. In the list, note the number for the first entry of your created 33450 rules.
+4. Enter `sudo ufw delete #` where `#` is the number assigned to the rule.
+5. Press `y` to confirm.
+6. Repeat steps 2-5 to remove the second entry (the number for the entry will have updated after deleting the first).
+
+</details>
+
+<details>
+
+<summary>Windows Setup</summary>
+
+1. Open Windows Defender Firewall.
+2. Click Advanced Settings.
+3. Click Inbound Rules.
+4. Click New Rule.
+5. Click Port, then Next.
+6. Click UDP.
+7. If it’s not already selected, select Specific local ports and enter `33450`, then Next.
+8. Click Allow the connection, then Next.
+9. Select Network types you’d like to allow connection over then Next.
+   * Public should not be necessary, but you can leave it as the default.
+10. Name the rule, then Finish.
+11. Open a cmd window.
+12. Enter `ipconfig`.
+13. Note the IPv4 address, this will be used by the clients to connect to the server machine.
+
+*Cleaning up after testing*
+
+1. Open Windows Defender Firewall.
+2. Click Advanced Settings.
+3. Click Inbound Rules.
+4. Find the rule with the name that was given.
+5. Right-Click the rule and Select Delete.
+6. Confirm the dialog.
+
+</details>
 
 ## What To Watch For
 
-1.  Number of clients connected
-2.  Performance on clients (FPS, input response)
-3.  Logs from clients and server after testing
+*  Number of clients connected.
+*  Performance on clients (FPS, input response).
+*  Logs from clients and server after testing.
 
 ## Testing
 
-1.  Server machine has completed the above prerequisites
-2.  All machines have built MultiplayerSample project(for minimum compiling - the server machine should at least have MultiplayerSample.ServerLauncher built and the clients should have MultiplayerSample.GameLauncher) - [https://github.com/o3de/o3de-multiplayersample](https://github.com/o3de/o3de-multiplayersample)
-3.  Server machine launches MutiplayerSample.ServerLauncher
-    1.  If server.cfg is being used and is still the default entries of “host” and “LoadLevel Levels/SampleBase/SampleBase.spawnable” then nothing more should need to be done on this machine
-    2.  If server.cfg is not being used, the user will need to press “~” to bring up the console after launching the launcher and enter “host” followed by “loadlevel samplebase”
-4.  Client machines launch MultiplayerSample.GameLauncher
-    1.  If client.cfg is being used, add an entry before the default “connect” entry that says cl\_serveraddr ###.###.#.### where the numbers are the IP address of the server machine that was noted during server set up.  This needs to be done **before** launching the game launcher
-    2.  If client.cfg is not being used, once the game launcher is up the user will need to press “~” to bring up the console and enter “cl\_serveraddr ###.###.#.###” (the noted server machine ip address) followed by “connect”
-5.  At this point the client machines should have loaded the level that the Server machine defined and can move around in the level
+| Workflow                              | Requests                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       | Things to Watch For                                                                                                                                                                                               |
+|---------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| **Server Client Launches**            | <ol><li>Launch `MutiplayerSample.ServerLauncher`.<ul><li>If `server.cfg` is being used and is still the default entries of `host` and `LoadLevel Levels/SampleBase/SampleBase.spawnable` then nothing more should need to be done on this machine.</li><li>If `server.cfg` is not being used, the user will need to press `~` to bring up the console after launching the launcher and enter `host` followed by `loadlevel samplebase`.</li></ul></li></ol>                                                                                                                                                                    | <ul><li>Server launches without error.</li><li>Server enters an idle state awaiting client connections.</li></ul>                                                                                                 |
+| **Client Machines Launch & Connect**  | <ol><li>Launch `MultiplayerSample.GameLauncher` on each client machine.<ul><li>If `client.cfg` is being used, add an entry before the default `connect` entry that says `cl\_serveraddr ###.###.#.###` where the numbers are the IP address of the server machine that was noted during server set up. This needs to be done **before** launching the game launcher.</li><li>If `client.cfg` is not being used, once the game launcher is up the user will need to press `~` to bring up the console and enter `cl\_serveraddr ###.###.#.###` (the noted server machine ip address) followed by `connect`.</li></ul></li></ol> | <ul><li>Client connects to the server machine without either the client or server crashing.</li><li>Client machines should load the level that the **Server** defined and can move around in the level.</li></ul> |