Quellcode durchsuchen

Provide overview and information for running NetSoakTest. Build ServerLauncher rathers ClientLaunchers

Signed-off-by: Pip Potter <[email protected]>
Pip Potter vor 3 Jahren
Ursprung
Commit
21f0dc67ad
1 geänderte Dateien mit 57 neuen und 3 gelöschten Zeilen
  1. 57 3
      README.md

+ 57 - 3
README.md

@@ -1,5 +1,8 @@
 # NetSoakTest Project 
 
+## Overview
+NetSoakTest is an O3DE sample project used to stress test the AzNetworking transport layer. It is a headless server application that presently runs two connections locally via a loopback mechanism in which each endpoint sends a variety of packets to the other.
+
 ## Download and Install
 
 This repository uses Git LFS for storing large binary files.  You will need to create a Github personal access token to authenticate with the LFS service.
@@ -27,13 +30,14 @@ There are two options when installing a project
 
 This option lets you keep engine and project files in separate locations.
 
+##### Windows
 ```shell
 # clone the project into a folder outside your engine repository folder
 > git clone https://github.com/o3de/o3de-netsoaktest.git
 Cloning into 'o3de-netsoaktest'...
 
 # register the engine
-> C:/Path/To/o3de/scripts/o3de.bat register --this-engine
+> C:/Path/To/o3de/scripts/o3de.bat register --this-engine 
 
 # register the project 
 > C:/Path/To/o3de/scripts/o3de.bat register -p C:/Path/To/o3de-netsoaktest
@@ -42,9 +46,29 @@ Cloning into 'o3de-netsoaktest'...
 > cmake -S C:/Path/To/o3de-netsoaktest -b C:/Path/To/o3de-netsoaktest/build -G "Visual Studio 16 2019" -DLY_3RDPARTY_PATH="C:/3rdparty"
 
 # example build command
-> cmake --build C:/Path/To/o3de-netsoaktest/build --target Editor NetSoakTest.GameLauncher --configure profile -- /m /nologo 
+> cmake --build C:/Path/To/o3de-netsoaktest/build --target Editor NetSoakTest.ServerLauncher --configure profile -- /m /nologo 
+```
+
+##### Linux
+```shell
+# clone the project into a folder outside your engine repository folder
+> git clone https://github.com/o3de/o3de-netsoaktest.git
+Cloning into 'o3de-netsoaktest'...
+
+# register the engine
+>/path/to/o3de/scripts/o3de.bat register --this-engine 
+
+# register the project 
+> /path/to/o3de/scripts/o3de.sh register -p /path/to/o3de-netsoaktest
+
+# example configure command
+> cmake -S /pathto/o3de-netsoaktest -b /path/to/o3de-netsoaktest/build -G "Ninja Multi-Config" -DLY_3RDPARTY_PATH="C:/3rdparty" -DCMAKE_C_COMPILER=clang-12 -DCMAKE_CXX_COMPILER=clang++-12 
+
+# example build command
+> cmake --build /path/to/o3de-netsoaktest/build --config profile --target Editor NetSoakTest.ServerLauncher
 ```
 
+
 #### Option #2 - Engine-centric approach to building a project 
 
 This option models the legacy folder layout where all projects were in the same folder as the engine.
@@ -64,12 +88,42 @@ Cloning into 'NetSoakTest'...
 > cmake -S C:/Path/To/o3de -b C:/Path/To/o3de/build -G "Visual Studio 16 2019" -DLY_3RDPARTY_PATH="C:/3rdparty" -DLY_PROJECTS=NetSoakTest 
 
 # example build command
-> cmake --build C:/Path/To/o3de/build --target Editor NetSoakTest.GameLauncher --configure profile -- /m /nologo 
+> cmake --build C:/Path/To/o3de/build --target Editor NetSoakTest.ServerLauncher --configure profile -- /m /nologo 
 
 ```
 
 If you have a Git credential helper configured, you should not be prompted for your credentials anymore.
 
+## Running the Project
+
+Run the netsoak ServerLauncher with the relevant options (see below). It is strongly recommended to use --rhi=null when launching NetSoakTest.ServerLauncher
+
+To pass command line values when launching the executable the format is ```--<command>=<value>```
+
+``` 
+NetSoakTest.ServerLauncher --soak_mode=loopback --rhi=null 
+```
+
+Note: All O3DE projects generate a GameLauncher and a ServerLauncher. NetSoakTest does not utilize its GameLauncher by design.
+
+### Options
+
+
+| Cvar | Description | Default |
+|-------|------------|---------|
+| soak_latencyms | Simulated connection quality latency in milliseconds | 0 | 
+| soak_variancems | Simulated connection quality variance in milliseconds | 0 | 
+| soak_losspercentage | Simulated connection quality packet drop rate | 0 |
+| soak_serveraddr | The address for a client soak test to connect to, localhost by default (only used in Client Soak Mode) | 127.0.0.1 |
+| soak_port | The port that this soak test will bind to for game traffic | 33450 |
+| soak_protocol | Soak test protocol (TCP or UDP) | udp | 
+| soak_mode | The operating mode for the soak test, options are loopback, client or host. `Loopback` has two connection within the application feed traffic to each other in a loop. `Client` expects to connect to a server hosted at soak_serveraddr. `Host` hosts a server for clients to connect to | Loopback | 
+
+Other networking features such as Compression or DTLS/TLS can be enabled/disabled in the same way they would be in a production environment. For example:
+
+```
+NetSoakTest.ServerLauncher --net_UdpUseEncryption=true
+```
 
 ## License