Forwarded ports, but friends can't connect to server
And you don't need to specify an IP address in the startup script, but I'm not sure what happens with multiple NICs.
5df121d013ded.png runescape
And you don't need to specify an IP address in the startup script, but I'm not sure what happens with multiple NICs.

Setting 0.0.0.0 would use the primary network interface. You can also use the LAN IP for that specific NIC instead, but 0.0.0.0 is generally enough and the recommended way to avoid issues if the IP address changes locally.

I did everything like you told me, but now when I'm joining the server it doesn't let me in, and shows an error nullreferenceexception: object reference not set to an instance of an object. 
Could you provide the full log please? Changing your IP also would not affect or cause an NRE.
Initialize engine version: 2019.3.5f1 (d691e07d38ef)
[Subsystems] Discovering subsystems at path E:/Steam/steamapps/common/Rust/RustClient_Data/UnitySubsystems
GfxDevice: creating device client; threaded=1
Direct3D:
Version: Direct3D 11.0 [level 11.1]
Renderer: NVIDIA GeForce GTX 1060 (ID=0x1c20)
Vendor:
VRAM: 6052 MB
Driver: 26.21.14.4575
D3D11 device created for Microsoft Media Foundation video decoding.
<RI> Initializing input.
<RI> Input initialized.
<RI> Initialized touch support.
Shader 'TextMeshPro/Distance Field': fallback shader 'TextMeshPro/Mobile/Distance Field' not found
UnloadTime: 8.590800 ms
Bootstrap Startup
Loading maps/maps.bundle
UnityEngine.Logger:Log(LogType, Object)
UnityEngine.Debug:Log(Object)
AssetBundleBackend:Load(String)
<Start>d__18:MoveNext()
UnityEngine.SetupCoroutine:InvokeMoveNext(IEnumerator, IntPtr)

(Filename: C:\buildslave\unity\build\Runtime/Export/Debug/Debug.bindings.h Line: 35)

Loading shared/audio.bundle
UnityEngine.Logger:Log(LogType, Object)
UnityEngine.Debug:Log(Object)
AssetBundleBackend:Load(String)
<Start>d__18:MoveNext()
UnityEngine.SetupCoroutine:InvokeMoveNext(IEnumerator, IntPtr)

(Filename: C:\buildslave\unity\build\Runtime/Export/Debug/Debug.bindings.h Line: 35)

Loading shared/content.bundle
UnityEngine.Logger:Log(LogType, Object)
UnityEngine.Debug:Log(Object)
AssetBundleBackend:Load(String)
<Start>d__18:MoveNext()
UnityEngine.SetupCoroutine:InvokeMoveNext(IEnumerator, IntPtr)

(Filename: C:\buildslave\unity\build\Runtime/Export/Debug/Debug.bindings.h Line: 35)

Loading shared/items.preload.bundle
UnityEngine.Logger:Log(LogType, Object)
UnityEngine.Debug:Log(Object)
AssetBundleBackend:Load(String)
<Start>d__18:MoveNext()
UnityEngine.SetupCoroutine:InvokeMoveNext(IEnumerator, IntPtr)

(Filename: C:\buildslave\unity\build\Runtime/Export/Debug/Debug.bindings.h Line: 35)

Loading shared/monuments.bundle
UnityEngine.Logger:Log(LogType, Object)
UnityEngine.Debug:Log(Object)
AssetBundleBackend:Load(String)
<Start>d__18:MoveNext()
UnityEngine.SetupCoroutine:InvokeMoveNext(IEnumerator, IntPtr)

(Filename: C:\buildslave\unity\build\Runtime/Export/Debug/Debug.bindings.h Line: 35)

Loading shared/skinnables.preload.bundle
UnityEngine.Logger:Log(LogType, Object)
UnityEngine.Debug:Log(Object)
AssetBundleBackend:Load(String)
<Start>d__18:MoveNext()
UnityEngine.SetupCoroutine:InvokeMoveNext(IEnumerator, IntPtr)

(Filename: C:\buildslave\unity\build\Runtime/Export/Debug/Debug.bindings.h Line: 35)

Loading shared/textures.bundle
UnityEngine.Logger:Log(LogType, Object)
UnityEngine.Debug:Log(Object)
AssetBundleBackend:Load(String)
<Start>d__18:MoveNext()
UnityEngine.SetupCoroutine:InvokeMoveNext(IEnumerator, IntPtr)

(Filename: C:\buildslave\unity\build\Runtime/Export/Debug/Debug.bindings.h Line: 35)

Loading shared/textures.split.bundle
UnityEngine.Logger:Log(LogType, Object)
UnityEngine.Debug:Log(Object)
AssetBundleBackend:Load(String)
<Start>d__18:MoveNext()
UnityEngine.SetupCoroutine:InvokeMoveNext(IEnumerator, IntPtr)

(Filename: C:\buildslave\unity\build\Runtime/Export/Debug/Debug.bindings.h Line: 35)

System
Name: DESKTOP-G0T079P
OS: Windows 10 (10.0.0) 64bit

CPU
Model: Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz
Cores: 8
Memory: 32654 MB

GPU
Model: NVIDIA GeForce GTX 1060
API: Direct3D 11.0 [level 11.1]
Memory: 6052 MB
SM: 50

Process
Memory: 549 MB

Mono
Collects: 25
Memory: 6 MB

Manifest Metadata Loaded
15255 pooled strings
6445 prefab properties
388 effect categories
775 entity names

Command Line: "E:\Steam\steamapps\common\Rust\RustClient.exe" "-logfile" "output_log.txt" "-eac_executablename" "RustClient.exe"
Command 'logfile' not found
Command 'eac_executablename' not found
SteamID: 76561198178169837 (DARIOcaptain)
Command 'logfile' not found
Command 'eac_executablename' not found
Config Loaded
Shader 'TextMeshPro/Distance Field': fallback shader 'TextMeshPro/Mobile/Distance Field' not found
Loading EasyAntiCheat
EasyAntiCheat Loaded
Manifest Assets Loaded
93 skinnable objects
Unloading 5 Unused Serialized files (Serialized files now loaded: 48)
UnloadTime: 6.459000 ms
Playing Video E:/Steam/steamapps/common/Rust/RustClient_Data/StreamingAssets/MenuVideo/farming.mp4
UnityEngine.Logger:Log(LogType, Object)
UnityEngine.Debug:Log(Object)
MenuBackgroundVideo:NextVideo()
MenuBackgroundVideo:Awake()

(Filename: C:\buildslave\unity\build\Runtime/Export/Debug/Debug.bindings.h Line: 35)

Unloading 132 unused Assets to reduce memory usage. Loaded Objects now: 120565.
Total: 289.102800 ms (FindLiveObjects: 8.466500 ms CreateObjectMapping: 6.177300 ms MarkObjects: 274.142300 ms DeleteObjects: 0.316400 ms)

Connecting..
Shader 'Particles/FXVille Blood World Lighting': fallback shader 'Paricles/Alpha Blended' not found
Shader 'Effects/Explosions/Distortion/CullBack': fallback shader 'Effects/Distortion/Free/CullOff' not found
Couldn't create a Convex Mesh from source mesh "patrol_helicopter_part02" within the maximum polygons limit (256). The partial hull will be used. Consider simplifying your mesh.
UnityEngine.AssetBundle:LoadAsset(String)
AssetBundleBackend:LoadAsset(String)
FileSystemBackend:Load(String)
GameManager:FindPrefab(String)
<Run>d__4:MoveNext()
UnityEngine.SetupCoroutine:InvokeMoveNext(IEnumerator, IntPtr)

[ line 95]
(Filename: Line: 95)

Couldn't create a Convex Mesh from source mesh "Old_Boat_GM" within the maximum polygons limit (256). The partial hull will be used. Consider simplifying your mesh.
UnityEngine.AssetBundle:LoadAsset(String)
AssetBundleBackend:LoadAsset(String)
FileSystemBackend:Load(String)
GameManager:FindPrefab(String)
<Run>d__4:MoveNext()
UnityEngine.SetupCoroutine:InvokeMoveNext(IEnumerator, IntPtr)

[ line 95]
(Filename: Line: 95)

Couldn't create a Convex Mesh from source mesh "ScrapHeliGibs_Part002" within the maximum polygons limit (256). The partial hull will be used. Consider simplifying your mesh.
UnityEngine.AssetBundle:LoadAsset(String)
AssetBundleBackend:LoadAsset(String)
FileSystemBackend:Load(String)
GameManager:FindPrefab(String)
<Run>d__4:MoveNext()
UnityEngine.SetupCoroutine:InvokeMoveNext(IEnumerator, IntPtr)

[ line 95]
(Filename: Line: 95)

Couldn't create a Convex Mesh from source mesh "ScrapHeliGibs_Part046" within the maximum polygons limit (256). The partial hull will be used. Consider simplifying your mesh.
UnityEngine.AssetBundle:LoadAsset(String)
AssetBundleBackend:LoadAsset(String)
FileSystemBackend:Load(String)
GameManager:FindPrefab(String)
<Run>d__4:MoveNext()
UnityEngine.SetupCoroutine:InvokeMoveNext(IEnumerator, IntPtr)

[ line 95]
(Filename: Line: 95)

WARNING: Shader Unsupported: 'Hidden/PostProcessing/FinalPass' - Pass '' has no vertex shader
WARNING: Shader Unsupported: 'Hidden/PostProcessing/FinalPass' - Pass '' has no vertex shader
WARNING: Shader Unsupported: 'Hidden/PostProcessing/Uber' - Pass '' has no vertex shader
WARNING: Shader Unsupported: 'Hidden/PostProcessing/Uber' - Pass '' has no vertex shader
Unloading 2 Unused Serialized files (Serialized files now loaded: 48)
UnloadTime: 22.976100 ms
WARNING: Shader Unsupported: 'Hidden/ReflectionProbeEx/SinglePassBlit' - Pass '' has no vertex shader
WARNING: Shader Unsupported: 'Hidden/ReflectionProbeEx/SinglePassFilterEnvMap' - Pass '' has no vertex shader
WARNING: Shader Unsupported: 'Hidden/ReflectionProbeEx/Time of Day/Skybox' - Pass '' has no vertex shader

Unloading 111408 unused Assets to reduce memory usage. Loaded Objects now: 872389.
Total: 949.414000 ms (FindLiveObjects: 80.779700 ms CreateObjectMapping: 122.756100 ms MarkObjects: 706.340800 ms DeleteObjects: 39.536700 ms)

WARNING: Shader Unsupported: 'Hidden/ReflectionProbeEx/Time of Day/Stars' - Pass '' has no vertex shader
WARNING: Shader Unsupported: 'Hidden/ReflectionProbeEx/Time of Day/Moon' - Pass 'FORWARD_PROBE' has no vertex shader
WARNING: Shader Unsupported: 'Hidden/ReflectionProbeEx/Time of Day/Moon' - All passes removed
WARNING: Shader Did you use #pragma only_renderers and omit this platform?
WARNING: Shader Unsupported: 'Hidden/ReflectionProbeEx/Time of Day/Sun' - Pass '' has no vertex shader
WARNING: Shader Unsupported: 'Hidden/ReflectionProbeEx/Time of Day/Atmosphere' - Pass '' has no vertex shader
WARNING: Shader Unsupported: 'Hidden/ReflectionProbeEx/Time of Day/Cloud Layer' - Pass '' has no vertex shader
WARNING: Shader Unsupported: 'Hidden/ReflectionProbeEx/Time of Day/Cloud Billboard Far' - Pass '' has no vertex shader
Generating procedural map of size 6000 with seed 50500
UnityEngine.Logger:Log(LogType, Object)
UnityEngine.Debug:Log(Object)
<InitCoroutine>d__14:MoveNext()
UnityEngine.SetupCoroutine:InvokeMoveNext(IEnumerator, IntPtr)
<DoClientConnected>d__28:MoveNext()
UnityEngine.SetupCoroutine:InvokeMoveNext(IEnumerator, IntPtr)

(Filename: C:\buildslave\unity\build\Runtime/Export/Debug/Debug.bindings.h Line: 35)

[0.3s] Loading World
UnityEngine.Logger:Log(LogType, Object)
UnityEngine.Debug:Log(Object)
TimerSwitch:get_HasMenuOptions()
<InitCoroutine>d__14:MoveNext()
UnityEngine.SetupCoroutine:InvokeMoveNext(IEnumerator, IntPtr)

(Filename: C:\buildslave\unity\build\Runtime/Export/Debug/Debug.bindings.h Line: 35)

WARNING: Shader Unsupported: 'Hidden/Nature/Terrain/Utilities' - All passes removed
WARNING: Shader Did you use #pragma only_renderers and omit this platform?
ERROR: Shader Shader is not supported on this GPU (none of subshaders/fallbacks are suitable)WARNING: Shader Unsupported: 'Hidden/Nature/Terrain/Utilities' - Setting to default shader.
Shader 'Nature/Terrain/Diffuse': dependency 'AddPassShader' shader 'Hidden/TerrainEngine/Splatmap/Diffuse-AddPass' not found
Shader 'Hidden/TerrainEngine/Splatmap/Standard-AddPass': fallback shader 'Hidden/TerrainEngine/Splatmap/Diffuse-AddPass' not found
[41.5s] Spawning World
UnityEngine.Logger:Log(LogType, Object)
UnityEngine.Debug:Log(Object)
TimerSwitch:get_HasMenuOptions()
<InitCoroutine>d__14:MoveNext()
UnityEngine.SetupCoroutine:InvokeMoveNext(IEnumerator, IntPtr)

(Filename: C:\buildslave\unity\build\Runtime/Export/Debug/Debug.bindings.h Line: 35)

[7.7s] Processing World
UnityEngine.Logger:Log(LogType, Object)
UnityEngine.Debug:Log(Object)
TimerSwitch:get_HasMenuOptions()
<InitCoroutine>d__14:MoveNext()
UnityEngine.SetupCoroutine:InvokeMoveNext(IEnumerator, IntPtr)

(Filename: C:\buildslave\unity\build\Runtime/Export/Debug/Debug.bindings.h Line: 35)

Unloading 3 Unused Serialized files (Serialized files now loaded: 48)

Unloading 1692 unused Assets to reduce memory usage. Loaded Objects now: 3931177.
Total: 7011.555600 ms (FindLiveObjects: 397.047200 ms CreateObjectMapping: 306.772900 ms MarkObjects: 6300.525900 ms DeleteObjects: 7.209100 ms)

Destroyed 774 map networkables
UnityEngine.Logger:Log(LogType, Object)
UnityEngine.Debug:Log(Object)
Client:DestroyNetworkables()
<DoClientConnected>d__28:MoveNext()
UnityEngine.SetupCoroutine:InvokeMoveNext(IEnumerator, IntPtr)

(Filename: C:\buildslave\unity\build\Runtime/Export/Debug/Debug.bindings.h Line: 35)

Disconnected (NullReferenceException: Object reference not set to an instance of an object.
Client.CreateOrUpdateEntity (ProtoBuf.Entity info, System.Int64 size) (at <00000000000000000000000000000000>:0)
Client.OnEntities (Network.Message packet) (at <00000000000000000000000000000000>:0)
Client.OnNetworkMessage (Network.Message packet) (at <00000000000000000000000000000000>:0)
Facepunch.Network.Raknet.Client.HandleMessage () (at <00000000000000000000000000000000>:0)
Facepunch.Network.Raknet.Client.Cycle () (at <00000000000000000000000000000000>:0)
Client.Update () (at <00000000000000000000000000000000>:0)
UnityEngine.Debug:LogException(Exception)
Facepunch.Network.Raknet.Client:HandleMessage()
Facepunch.Network.Raknet.Client:Cycle()
Client:Update()

Version: 49773) - returning to main menu
UnityEngine.Logger:Log(LogType, Object)
UnityEngine.Debug:Log(Object)
Client:OnClientDisconnected(String)
Network.Client:OnDisconnected(String)
Facepunch.Network.Raknet.Client:Disconnect(String, Boolean)
ErrorLogger:CaptureLog(String, String, LogType)
System.Action`3:Invoke(T1, T2, T3)
Facepunch.Output:LogHandler(String, String, LogType)
UnityEngine.LogCallback:Invoke(String, String, LogType)
UnityEngine.Application:CallLogCallback(String, String, LogType, Boolean)
UnityEngine.Logger:LogException(Exception, Object)
UnityEngine.Debug:LogException(Exception)
Facepunch.Network.Raknet.Client:HandleMessage()
Facepunch.Network.Raknet.Client:Cycle()
Client:Update()

(Filename: C:\buildslave\unity\build\Runtime/Export/Debug/Debug.bindings.h Line: 35)

Unloading 1 Unused Serialized files (Serialized files now loaded: 48)
NullReferenceException: Object reference not set to an instance of an object.
at Client.CreateOrUpdateEntity (ProtoBuf.Entity info, System.Int64 size) [0x00000] in <00000000000000000000000000000000>:0
at Client.OnEntities (Network.Message packet) [0x00000] in <00000000000000000000000000000000>:0
at Client.OnNetworkMessage (Network.Message packet) [0x00000] in <00000000000000000000000000000000>:0
at Facepunch.Network.Raknet.Client.HandleMessage () [0x00000] in <00000000000000000000000000000000>:0
at Facepunch.Network.Raknet.Client.Cycle () [0x00000] in <00000000000000000000000000000000>:0
at Client.Update () [0x00000] in <00000000000000000000000000000000>:0
UnityEngine.Logger:LogException(Exception, Object)
UnityEngine.Debug:LogException(Exception)
Facepunch.Network.Raknet.Client:HandleMessage()
Facepunch.Network.Raknet.Client:Cycle()
Client:Update()

(Filename: currently not available on il2cpp Line: -1)

Disconnected (Object reference not set to an instance of an object.
at Client.CreateOrUpdateEntity (ProtoBuf.Entity info, System.Int64 size) [0x00000] in <00000000000000000000000000000000>:0
at Client.OnEntities (Network.Message packet) [0x00000] in <00000000000000000000000000000000>:0
at Client.OnNetworkMessage (Network.Message packet) [0x00000] in <00000000000000000000000000000000>:0
at Facepunch.Network.Raknet.Client.HandleMessage () [0x00000] in <00000000000000000000000000000000>:0
at Facepunch.Network.Raknet.Client.Cycle () [0x00000] in <00000000000000000000000000000000>:0
at Client.Update () [0x00000] in <00000000000000000000000000000000>:0 ) - returning to main menu
UnityEngine.Logger:Log(LogType, Object)
UnityEngine.Debug:Log(Object)
Client:OnClientDisconnected(String)
Network.Client:OnDisconnected(String)
Facepunch.Network.Raknet.Client:Disconnect(String, Boolean)
Facepunch.Network.Raknet.Client:HandleMessage()
Facepunch.Network.Raknet.Client:Cycle()
Client:Update()

(Filename: C:\buildslave\unity\build\Runtime/Export/Debug/Debug.bindings.h Line: 35)

UnloadTime: 1424.426900 ms
Playing Video E:/Steam/steamapps/common/Rust/RustClient_Data/StreamingAssets/MenuVideo/farming.mp4
UnityEngine.Logger:Log(LogType, Object)
UnityEngine.Debug:Log(Object)
MenuBackgroundVideo:NextVideo()
MenuBackgroundVideo:Awake()

(Filename: C:\buildslave\unity\build\Runtime/Export/Debug/Debug.bindings.h Line: 35)

Unloading 1935 unused Assets to reduce memory usage. Loaded Objects now: 2244770.
Total: 2017.565100 ms (FindLiveObjects: 236.605500 ms CreateObjectMapping: 322.393100 ms MarkObjects: 1448.837600 ms DeleteObjects: 9.728300 ms)

Unloading 1 Unused Serialized files (Serialized files now loaded: 48)
UnloadTime: 62.823500 ms
Playing Video E:/Steam/steamapps/common/Rust/RustClient_Data/StreamingAssets/MenuVideo/farming.mp4
UnityEngine.Logger:Log(LogType, Object)
UnityEngine.Debug:Log(Object)
MenuBackgroundVideo:NextVideo()
MenuBackgroundVideo:Awake()

(Filename: C:\buildslave\unity\build\Runtime/Export/Debug/Debug.bindings.h Line: 35)

Unloading 1 unused Assets to reduce memory usage. Loaded Objects now: 2244770.
Total: 1974.242200 ms (FindLiveObjects: 218.876000 ms CreateObjectMapping: 313.648900 ms MarkObjects: 1439.072900 ms DeleteObjects: 2.643800 ms)

Opening Log File (output_log.txt)
UnityEngine.Logger:Log(LogType, Object)
UnityEngine.Debug:Log(Object)
ConsoleUI:OpenLogFile()
UnityEngine.Events.UnityAction:Invoke()
UnityEngine.Events.UnityEvent:Invoke()
Rust.UI.RustButton:Press()
System.Data.StateChangeEventHandler:Invoke(Object, StateChangeEventArgs)
UnityEngine.EventSystems.ExecuteEvents:Execute(GameObject, BaseEventData, EventFunction`1)
UnityEngine.EventSystems.ExecuteEvents:ExecuteHierarchy(GameObject, BaseEventData, EventFunction`1)
UnityEngine.EventSystems.StandaloneInputModule:ProcessMousePress(MouseButtonEventData)
UnityEngine.EventSystems.StandaloneInputModule:ProcessMouseEvent(Int32)
UnityEngine.EventSystems.StandaloneInputModule:Process()
UnityEngine.EventSystems.EventSystem:Update()

(Filename: C:\buildslave\unity\build\Runtime/Export/Debug/Debug.bindings.h Line: 35)

Server log, not client.
But the error when I try to connect is typed in client log, in the server log there is only written that I joined the server.
Make sure that the server and client are fully updated.
Yeah, I've updated server, but still friends can't connect to it via public ip.
Your ISP will block you from port forwarding. You need a business connection. They do this to prevent people from using their residential connection for servers.