This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Last revision Both sides next revision | ||
global:network [2021/03/17 23:22] Mistermind [Setup] |
global:network [2024/01/02 23:36] Mistermind [Rollback Netcode] |
||
---|---|---|---|
Line 1: | Line 1: | ||
===== Network Options ===== | ===== Network Options ===== | ||
- | **UFE 2** comes with a completely revision of its core physics and network mechanics. The second iteration allows you to run online matches in a smooth lag-free environment thanks to its native //rollback mechanics// (similar to [[https:// | + | UFE 2 comes with a completely revision of its core physics and network mechanics. The second iteration allows you to run online matches in a smooth lag-free environment thanks to its native //rollback mechanics// (similar to [[https:// |
The new network options also comes with its own client/ | The new network options also comes with its own client/ | ||
- | For a detail instruction | + | For detailed instructions |
+ | ---- | ||
- | {{ :global:global_netcode.png? | + | {{ :global:global_networkoptions.png |}} |
---- | ---- | ||
==== Setup ==== | ==== Setup ==== | ||
- | You need **UFE 2 Standard/ | + | You need **UFE 2 Standard/ |
1- Sign up for free at [[https:// | 1- Sign up for free at [[https:// | ||
Line 19: | Line 20: | ||
{{ : | {{ : | ||
- | 3 - Now, extract the files at '' | + | 3 - Now, extract the files at '' |
Line 35: | Line 36: | ||
---- | ---- | ||
- | ==== LAN Games ==== | + | ==== Particle Control |
- | **Network Port:** Set which Network port should the game use to connect between the clients in the local network. If you are testing your game using '' | + | **Control Spawned Particles:** When toggled, UFE will search for possible particle effects coming from a spawned |
- | **Lan Discovery Port:** The port used in the network to search | + | **Sync Random Seed:** Override |
- | **Lan Discovery Broadcast Interval:** The interval for the host to broadcast its signal. | + | **Override Simulated Speed:** Override |
- | + | ||
- | **Lan Discovery Search Interval:** The interval for the broadcast | + | |
- | + | ||
- | **Lan Discovery Search Timeout:** How long before it stops searching. | + | |
Line 73: | Line 70: | ||
==== Rollback Netcode ==== | ==== Rollback Netcode ==== | ||
- | **Allow Rollbacks:** Enable Rollbacks in your game (Make sure you've gone through [[global: | + | **Available only on PRO and Source licenses** |
- | **Track UFE Variables:** Toggle so UFE will use the //auto tracking// technique to search for its interface | + | **Allow Rollbacks:** Enable Rollbacks in your game (Make sure you've gone through [[global: |
**Max Fast-Forward Per Frame:** When using rollback, depending on the distance between packages sent, how many frames can your game recover from. The more frames, the more CPU power it needs. | **Max Fast-Forward Per Frame:** When using rollback, depending on the distance between packages sent, how many frames can your game recover from. The more frames, the more CPU power it needs. | ||
Line 87: | Line 84: | ||
* // | * // | ||
* // | * // | ||
+ | |||
+ | **Track UFE Variables (disabled): | ||
Line 100: | Line 99: | ||
**Apply Frame Delay Offline:** Makes it so every game (including CPU matches and Training Mode) are always running with the '' | **Apply Frame Delay Offline:** Makes it so every game (including CPU matches and Training Mode) are always running with the '' | ||
+ | |||
+ | |||
+ | ---- | ||
+ | ==== Synchronization Test ==== | ||
+ | |||
+ | If you are making modifications to the source code, specially the core files, there is a chance you could cause an accidental desynchronization. Don't worry, UFE offers plenty of tools for you to try detecting what went wrong. | ||
+ | |||
+ | **Set Host As AI:** When toggled, while testing online matches, the person who //hosts// the game will have its inputs overwritten by AI controls. | ||
+ | |||
+ | **Set Client As AI:** When toggled, while testing online matches, the person who //joins// the game will have its inputs overwritten by AI controls. | ||
+ | |||
+ | **Desync Action:** If the game desyncs, what should happen? | ||
+ | * Disabled: Nothing happens, the game continues differently for both players. | ||
+ | * Playback Tool: The game pauses on both players and the replay tool is enabled. You will see 2 recording states: One that shows what the player saw and one that shows what happened after the rollback was applied (standard gameplay). Use this tool to compare and detect what could have gone wrong. You can also generate data logs to better identify the problem. For more information check out this [[https:// | ||
+ | * Disconnect: If the game desyncs, both players are disconnected from the match. | ||
+ | |||
+ | **Float Desync Threshold: | ||
+ | |||
+ | **Log Sync Messages (Console): | ||
+ | |||
+ | **Record Post-Rollback Frames:** If toggled, UFE will record a second set of frames with the post-rollback process allowing you to see what happened in between rollback frames in the recording. | ||
+ | |||
+ | **Generate Variable Log:** If toggled, UFE will generate a variable log that you can compare between the 2 clients. | ||
+ | |||
+ | **Exported File Path:** The path the variable log above will be created. | ||
+ | |||
+ | **Recording Buffer:** How many frames should be recorded for comparing. | ||
Line 118: | Line 144: | ||
====== Hints ====== | ====== Hints ====== | ||
Networking is a relatively complicated aspect of the engine. Don't be alarmed if you can't get running at first. Here are a few hints to help out on common issues: | Networking is a relatively complicated aspect of the engine. Don't be alarmed if you can't get running at first. Here are a few hints to help out on common issues: | ||
- | * If you are having trouble connecting to the other peers, you might need to work on your router' | ||
* If you are experiencing lag, try changing the hosting option and protocol under ' | * If you are experiencing lag, try changing the hosting option and protocol under ' | ||
* Make sure you have no ' | * Make sure you have no ' | ||
+ | |||
+ | ---- | ||
+ | ====== Video Tutorial ====== | ||
+ | {{youtube> | ||
+ | {{youtube> | ||
---- | ---- |