Giter Site home page Giter Site logo

beardedmanstudios / forgenetworkingremastered Goto Github PK

View Code? Open in Web Editor NEW
1.5K 1.5K 309.0 11.84 MB

See various forks, also please join the Forge Community fork of Forge Alloy! -> https://github.com/ForgeAlloyCommunity/ForgeAlloy

Home Page: https://twitter.com/FarrisFaulds

License: Apache License 2.0

C# 93.98% HTML 5.83% Shell 0.19%
multiplayer multiplayer-game network-library networking unity unity-game-engine unity3d

forgenetworkingremastered's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

forgenetworkingremastered's Issues

[NCW] Arrows in fields/arguments overwriting because Unity

Version Number and Operating System(s):

Latest develop branch on all operating systems

Expected behavior:

When you click the arrows to change the order of arguments or fields, it should move the fields and the names of the fields should remain the same.

Actual behavior:

Clicking on the move arrows in the NCW overwrites the text in the field when that text box is highlighted. This is actually an issue with Unity.

Steps to reproduce:

  • Open NCW
  • Create new object
  • Create RPC
  • Create 2 fields for RPC
  • Type in text in both fields
  • Make sure to have the second text field still in focus where you can type in it
  • Click the up arrow to move the second field to be the first field
  • Notice that the field text is overwritten

Purposed fix

to solve this we may need to make a dummy field that is off-screen (outside the bounds, such as negative x and y) that we focus on when we click the button. So we focus on the dummy element to remove the focus from the input box. When the input field has focus in Unity GUI it will not allow you to change the field text. By selecting a different UI object, this should be resolved

iOS build fails - TCPClientWebsockets.cs

Version Number and Operating System(s):

latest develop branch as of July 29 2017

Expected behavior:

building for iOS works

Actual behavior:

building for iOS fails with Mach-O linker error pointing to problems with:
TCPClientWebsockets_ForgeConnect_m3300101986 ();
TCPClientWebsockets_ForgeWrite_m500850475 ();
TCPClientWebsockets_ForgeClose_m3985811385 ();

Steps to reproduce:

build any project with forge remastered into iOS using MONO or IL2CPP and get the same failures in xcode.

I would like to assist in solving this if possible but suspect it is out of my depth. I see the TODO comment on the TCPClientWebSockets.cs file and am guessing this is the root of my issue.

"//TODO: Brent, figure out how to processor define this in a dll for unity
// or we need to make 2 dlls, one with and one without this pre-processored defined out
// This breaks iOS support because it cannot do [DllImport..]
"

Happy to help test any builds out if needed; just let me know!!!

[Optional] Discord Username:

dumbfire

Nat Hole Punch server is crashing

Version Number and Operating System(s):

Nat Hole Punch server fro develop branch, Windows Server 2012

Expected behavior:

Works without crashes

Actual behavior:

Crushes after 2 connects

Steps to reproduce:

run NAT, connect couple of times

[Optional] Discord Username:

Objects sometimes not instantiated on client

Version Number and Operating System(s):

Develop branch as of 9/25
Win10

Expected behavior:

Network objects spawned before a client connects should be spawned on client when it connects.

Actual behavior:

Most of the time this works, but every once in a while it fails to spawn the objects on the client. This seems to happen if the client is too slow loading the level, so the instantiate calls are received before Unity is ready to instantiate.

Steps to reproduce:

  1. Start host.
  2. Instantiate object.
  3. Connect with client that loads the level slowly (slow machine, lots of objects to load, etc.)
  4. Object will not instantiate on the client (sometimes).

[Optional] Discord Username:

mcguinnessdr

[NCW] Removing Argument from RPC swaps naming

When using the Wizard for adding/editing RPCs
I've discovered that if you have multiple arguments, and remove one which has one underneath it, the name of the removed will overwrite the one underneath.

Version Number and Operating System(s)

Newest Dev Branch
Build Date: (11/07-17)

Expected behavior

Having an RPC with 3 Arguments

Arguments
Slot: Name [Type]
1: A [int]
2: B [Vector3]
3: C [Vector3]

Removing 1st results
1: B [Vector3]
2: C [Vector3]

Actual behavior

Arguments
Slot: Name [Type]
1: A [int]
2: B [Vector3]
3: C [Vector3]

Removing 1st results
1: A [Vector3]
2: C [Vector3]

Steps to reproduce

  1. Make RPC
  2. Add 3 different Arguments
  3. Compile
  4. Return to said RPC
  5. Remove first Argument
  6. Name of removed argument is passed to the next argument slot (Not altering the type)

[NCW] Missing rpcs or fields

Version Number and Operating System(s)

Latest develop branch on all systems

Expected behavior

When you open a class to view in the NCW and then go back and open another, you should be able to see all RPCs and fields without any missing. Then if you go back to the class list and open the first class you opened previously, you should be able to see all RPCs and fields without any missing.

Actual behavior

When you open a class to view in the NCW, then back out to view a different class like the CubeForgeGame class, then return to the class list and select the first class you opened, there will be missing RPCs or fields.

Steps to reproduce

  1. Open NCW
  2. Open existing class
  3. Back out to main class list
  4. Open a different existing class
  5. See that there are missing parts to the class in the NCW window

NetworkDiscovery Android + Win Editor

FNR 23.02, Win7 64, Unity 5.6
Editor can't find server on android device and vice versa. But editor can find server on win build running on the same machine and 2 android devices can find each other

Move static BMSByte data from UDPPacketSequence

Version Number and Operating System(s)

Develop branch (all operating systems)

Expected behavior

The static data field should be per-networker and not global

Actual behavior

It is a global variable and so it does not work well with multiple threads

Steps to reproduce

No steps required

VS Error CS0246 "Type or namespace could not be found" for ForgeNetworkingUnityEditor

Version Number and Operating System(s):

Windows 10
Unity 2017.1.2
Visual Studio Community 2017.
Commit 8a441f3

Expected behavior:

Open FNR in Visual Studio and build. Open project in Unity to resolve errors.

Actual behavior:

Two of the reference paths do not get set correctly even after opening in Unity. Both of these are in the ForgeNetworkingUnityEditor references. Specifically they are UnityEditor and UnityEngine. This causes the namespace not to be recognized for the ForgeNetworkingUnityEditor code causing numerous CS0246 Visual Studio errors.

Steps to reproduce:

Open the solution in Visual Studio. Build. Open project in Unity. Errors persist for ForgeNetworkingUnityEditor.

The workaround is to manually drag those two references from Windows File Explorer onto the references in Visual Studio.

The problem appears to have been caused by commit e9044f8 when Kallex pushed a commit. His csproj file had a different path for these two references. He would not have experienced the bug but other users with different environments would have encountered it.

The fix is probably to standardize the reference paths between the working Unity and broken UnityEditor references.

[Optional] Discord Username:

Kirk #5910

unknown

Add disposed exception to re-connect request

Version Number and Operating System(s):

Current develop (v24)

Expected behavior:

When a user disconnects a NetWorker they should not be able to use it to connect again

Actual behavior:

Causes a crash because of a thread due to disposed objects

Steps to reproduce:

Connect with a NetWorker then disconnect, and connect again with the same object instance

Master server not disconnecting properly

Version Number and Operating System(s):

Latest Master branch

Expected behavior:

When you play in unity then stop playing the server should be removed from the master server

Actual behavior:

When you play and then stop playing then the server is not removed from the master server

Steps to reproduce:

Setup master server
Turn on logging in the master server
Play in editor as server to register itself on master server
Stop playing in editor and observe that the server does not get removed

Quitting from a client breaks the server

Version Number and Operating System(s):

Latest github master branch as of the 20. of august.

Expected behavior:

Server continues running with no issues
.

Actual behavior:

The server stops completely, but with no errors.
https://cl.ly/3U2v2g071E33

Steps to reproduce:

If you exit a client. This is all without handling any disconnection.

[Optional] Discord Username:

NFMynster

NetWorker event delegates need a sender

Version Number and Operating System(s)

Latest develop branch, all operating systems (core)

Expected behavior

Events that are called from networkers should have the sending networker as an argument since it is very possible to have many networkers running at the same time

Actual behavior

Events are fired and forgotten with no trail to the sender

Steps to reproduce

Any networker event will do

Instantiation system requires a validation function

Version Number and Operating System(s):

23.0, Unity 2017.1.1f1, Windows 10 Pro

Expected behavior:

Calling an instantiation method on the NetworkManager from client-side should trigger a function on the server to validate the instantiation.

Actual behavior:

There is no way to validate instantiation requests from clients. Any client can create any instantiation prefab at any point.

Steps to reproduce:

Call a NetworkManager instantiation method from the client and try to prevent it from server-side.

More on this issue:

When I asked the question on discord, nobody could give me a good answer so I was told to log it on GitHub. There is nothing about this in the docs that I could find. ServerAllowRpc and ServerAllowBinaryData aren't called on instantiation and the NetworkManager.Instance.Networker.objectCreateRequested event doesn't seem to get called at all.

What we would need is a method on the NetworkObject that works the same way as ServerAllowRpc to validate instantiation requests. The method could also be on the NetworkManager with the identifier of the NetworkObject that is about to be created.

[Optional] Discord Username:

MickeyMeme

Fields skipping dirty check

Version Number and Operating System(s):

v24 and Windows 10

EDIT:
v24.1, Windows 10, Unity 2017.1.0f3

Expected behavior:

Fields send only when they're dirty

Actual behavior:

Fields are sending every update interval even if never changed

Steps to reproduce:

Tested by running a field change event

   protected override void NetworkStart()
   {
      base.NetworkStart();
      networkObject.positionChanged += PositionChanged;
   }
   private void PositionChanged(Vector2 position, ulong test)
   {
        MainThreadManager.Run(() =>
        {
            Debug.Log("test");
        });
   }

[Optional] Discord Username:

NoMercy

i send a text but can not get the same text why?

Text temp = Text.CreateFromString(networkHandle.Time.Timestep, "abcdefg", true, Receivers.All,55, true);
networkHandle.send(temp);
how can i get abcdefg only ?

private static void NetworkHandle_textMessageReceived(NetworkingPlayer player, Text frame, NetWorker sender)

frame.tostring()?---------------here can not get "abcdefg" only ,, i just get "abcdefg口�"

[NCW] Allow to compile script for stand alone server

We should have a checkbox in the NCW to generate code that works with a stand alone server. Basically this one removes Vector3, Quaternion, etc from options to select from, uses ObjectMapper instead of UnityObjectMapper, and uses Near instead of UnityNear.

LobbySystem.prefab is corrupted

Version Number and Operating System(s):

Aug 16, 2017, Win 10

Expected behavior:

Usable prefab

Actual behavior:

Prefab somehow stopped working after last commit
a41561f117c3c3b87ef5d4e3555ec931

Tried unity 5.4.4, 5.6.3 and 2017.1

Prefab from Aug 9, 2017 works correctly.

Steps to reproduce:

Drag and drop prefab file to unity or import last package

[Optional] Discord Username:

Kamyker

About Forge Networking Remastered Roadmap

Hello! This is a great project! Give five stars!
Will it go to a game server engine later?
For example, add some features.
Database,
File system,
Log system,
Utility class,
, etc.
I can't see the future of UNET, the route has basically stopped. And now I find this great project! Very active!

Unity 2017.2 editor doesn't connect

Version Number and Operating System(s):

24.2 Windows 10

Expected behavior:

Connect from one editor server/client to other editor/build server/client in different PCs.

Actual behavior:

It does not connect.

Steps to reproduce:

Open Unity editor and try to connect to another PC running a build or other editor.

[Optional] Discord Username:

Nesvi

LAN Discovery - Android running on chromebook

low priority bug but interesting...

Version Number and Operating System(s):

latest develop

Expected behavior:

looks like forge should work mostly the same but connecting via LAN discovery may require a change per this link:
https://developer.android.com/topic/arc/index.html#network

Actual behavior:

Lan discovery fails because Chromebooks run the entire Android OS in a container.

Steps to reproduce:

try lan discovery from a Chromebook running an android APK

[Optional] Discord Username:

dumbfire

NetWorker recive a large package in TCP mode error bug!~

hi author,In NetWorker.cs , if Server send to client a very big userdata,package size more than client recive buff size, the package will split two small package,and OnMessageReceived function will post error,because second package don't have correct header length,so please fix it。

very thanks !!!

[NCW] Add a recompile button to home screen and menu

Users should be able to recompile the NCW generated source without having to open an existing class and clicking compile. They should also be able to recompile the code through a menu item so that they don't even have to open up the NCW to recompile

[NCW] Deleted classes still compile behavior when hitting "Save & Compile"

Version Number and Operating System(s)

Latest Develop branch, commit cad82c4
Unity 2017.1.0f3
Windows 10

Expected behavior

Deleted classes should not compile a new "behavior" script.

Actual behavior

Deleted class's "behavior" script gets compiled.

Steps to reproduce

Open NCW.
Delete a class.
Open another class.
Hit "Save & Compile".
A "behavior" script is created for the previously deleted class.

[Feature Request] Recompile All (If upgrading from older FNR generated code can make issues)

Tl;dr - Make a Recompile all and it should work flawlessly!

Version Number and Operating System(s):

All is related to DevBranch
(Old)Build Date: 11/07-17
(New)Buld Date: 31/07-17
Unity 2017

Expected behavior:

No issues in running the game with network capabilities, after FNR Upgrade

Actual behavior:

Clients may get a wrong cast error on Generated code

  at BeardedManStudios.Forge.Networking.Generated.GameManagerBehavior.Initialize (BeardedManStudios.Forge.Networking.NetworkObject obj) [0x0002e] in D:\Unity Projects\ProjectCTF\Assets\Bearded Man Studios Inc\Generated\UserGenerated\GameManagerBehavior.cs:21 
  at BeardedManStudios.Forge.Networking.Unity.NetworkManager.SceneReady (UnityEngine.SceneManagement.Scene scene, UnityEngine.SceneManagement.LoadSceneMode mode) [0x0024d] in D:\Unity Projects\ProjectCTF\Assets\Bearded Man Studios Inc\Scripts\NetworkManager.cs:595 
  at BeardedManStudios.Forge.Networking.Unity.NetworkManager.OnLevelFinishedLoading (UnityEngine.SceneManagement.Scene scene, UnityEngine.SceneManagement.LoadSceneMode mode) [0x00004] in D:\Unity Projects\ProjectCTF\Assets\Bearded Man Studios Inc\Scripts\NetworkManager.cs:363 
  at UnityEngine.SceneManagement.SceneManager.Internal_SceneLoaded (UnityEngine.SceneManagement.Scene scene, UnityEngine.SceneManagement.LoadSceneMode mode) [0x00013] in C:\buildslave\unity\build\artifacts\generated\common\runtime\SceneManagerBindings.gen.cs:245 

Mentioned line is in the generated code which is
networkObject = (GameManagerNetworkObject)obj;

Steps to reproduce:

Using a build of (Old) and a build of (New) should reproduce this
Make the game and add some instructions, which should be able to recall this

(I'll keep an old version of our game hanging around if there is research on this to be made)

  • Just ask for it

[Optional] Discord Username:

Fashdey#5329

How to fix

Went to the FNR Wizard and just clicked the Save & Recompile and it worked flawlessly!

Description in readme.md

It would be great if someone can add some description to the readme.md file so people can know what this do without googling

Master Server and NAT consumes a lot of processing time

Version Number and Operating System(s):

Master Server and NAT from develop branch, Hosting: Windows Server 2012 / Ubuntu / Windows 7

Expected behavior:

Dont consume so much processing power

Actual behavior:

100% core load

Steps to reproduce:

Run.

[Optional] Discord Username:

Prefab with 2 networkobjects (one in root and one as child) sometimes tries to initialize the wrong behavior

Version Number and Operating System(s):

Version 24.1 Win10

Expected behavior:

When you spawn a prefab that has a networkobject in the root transform and another networkobject in one of its child, both should instantiate correctly when you call the NetworkManager.Instance.Instantiate () of the root object

Actual behavior:

Sometimes it happens that on a client, the instantiation bugs out.
The parent networkobject gets instantiated correctly but when the child networkbehavior Initialize(NetworkObject obj) method gets called, it throws a "cannot cast to" error because the networkobject that gets passed to it is the one from the root object and not the correct one.
For example, root has class A and child class B. When the Initialize(NetworkObject obj) gets called for class B, the obj passed is classA and not classB

Steps to reproduce:

I don't really know how to reproduce it....the same exact code sometimes works, sometimes throws the exception....sometimes works on client1, then on client2 throws the error.
On the server it always works, though.

[Optional] Discord Username:

daragorn

Prefab has multiple Transform components! Removing them automatically would not be safe error.

Version Number and Operating System(s):

24.0.1
Windows 10

Expected behavior:

No error, clean console

Actual behavior:

Error in console "Prefab has multiple Transform components! Removing them automatically would not be safe. UnityEngine.Resources:Load(String)"

Steps to reproduce:

  1. Start a completely new project in unity
  2. Import the Forge networking Remastered 24.0.1 Asset from the Asset Store
  3. Open the MultiplayerMenu scene
  4. Push Play
  5. Error is displayed in console "Prefab has multiple Transform components! Removing them automatically would not be safe. UnityEngine.Resources:Load(String)"

It pauses Unity so each time I want to test a server host I have to unpause to continue.
It seems to always stem from the BMSLogger.cs

[Optional] Discord Username:

Forge not correctly registering RPCs

Version Number and Operating System(s):

Git pulled on the 30/8/17 - Win 10

Expected behavior:

When each client connects they should have network instantiated prefabs created for them and RPCs should be registered.

Actual behavior:

From time to time Forge fails to spawn some instantiated prefabs and some RPCs wont work on others. It appears that the some RPCs are not registered.

Steps to reproduce:

Start a cubeforge server. Make a couple of changes to the world and then connect in about 10 clients. You will notice some of the players don't get the world state.

[Optional] Discord Username:

SmiggsGDog

Master server is not working

Version Number and Operating System(s):

Hosting: Win Server 2012. Clients - Editor (unity 5.6) /Win build (win7) /android build

Expected behavior:

Connects as in local network

Actual behavior:

Method Connected(NetWorker networker) is firing, but i cant see networked objects and send/recieve any data

Steps to reproduce:

  1. Create empty project
  2. integrate FNR, set Master Server in Server browser and Multiplayer Menu
  3. Create win buil
  4. Host server on build
  5. Run Server Browser scene on Editor
  6. Connect by button in server list

[Optional] Discord Username:

Leonid B

Unable to send Unity types in current dev build

Version Number and Operating System(s):

Git Dev Pull from 24/9/2017 - Win 10 Unity 2017.1.p3

Expected behavior:

Should be able to send Unity types Vector3 and Quaternions

Actual behavior:

BaseNetworkException: The type UnityEngine.Vector3 is not allowed to be sent over the Network (yet)
BeardedManStudios.Forge.Networking.ObjectMapper.GetBytesArray (System.Object o, System.Type type) (at Assets/Bearded Man Studios Inc/Source/Forge/Networking/ObjectMapper.cs:474)
BeardedManStudios.Forge.Networking.ObjectMapper.MapBytes (BeardedManStudios.BMSByte bytes, System.Object[] args) (at Assets/Bearded Man Studios Inc/Source/Forge/Networking/ObjectMapper.cs:236)
BeardedManStudios.Forge.Networking.Unity.NetworkManager.InstantiateNetworkCamera (Int32 index, Nullable1 position, Nullable1 rotation, Boolean sendTransform) (at Assets/Bearded Man Studios Inc/Generated/NetworkManager.cs:364)
CubeForgeGame.Start () (at Assets/Bearded Man Studios Inc/Examples/Cube Forge/Scripts/CubeForgeGame.cs:74)

Appears that the UnityObjectMapper doesn't work anymore.

Steps to reproduce:

Instantiate doesn't work so a simple run of cubeforge or the like will reproduce.

[Optional] Discord Username

SmiggsGDogg

sendTransform boolean not working

Version Number and Operating System(s):

Forge v24
Windows 10

Expected behavior:

  • if sendTransform = true upon instantiation, the clients should receive the transforms immediately.
  • if sendTransform = false the clients should not receive the transform.

Actual behavior:

If sendTransform is true: when an object is instantiated on a client, it spawns at 0,0,0 and then quickly snaps to the transform it was set to in the instantiate method on the server.
If sendTransform is false: it does the same thing, the transforms are being sent. Same snapping behavior.

Steps to reproduce:

Tested on the same machine with a host (as a player) and a client. I deleted all fields and RPCs from the behavior in NWC.

On the server:
NetworkManager.Instance.InstantiateProjectile(0, bulletSpawn.position);

On the client, in NetworkStart() the transform.position will be 0,0,0. At some point, without setting transform.position = x;, it's transform gets set to what in this case bulletSpawn.position was. It feels like a frame or two delay.

Setting sendTransform to false seems to have the exact same effect.

[Optional] Discord Username:

NoMercy
Other's reporting this issue: occuros, poolfire

NCW operations corrupting Forge source

Version Number and Operating System(s):

Windows 10 Pro, Forge version 23.0, Unity 2017.1.0p4

Expected behavior:

Creating, modifying and deleting NetworkBehaviors doesn't corrupt/crash the NCW, Unity or any source code generated by Forge or otherwise.

Actual behavior:

Occasionally making a change to NetworkBehaviors in the NCW will cause critical errors in the Unity Editor, resulting in NCW never displaying NetworkBehaviors and the following error being generated after restarting Unity:

ArgumentNullException: Argument cannot be null.
Parameter name: element
System.Attribute.CheckParameters (System.Object element, System.Type attributeType) (at /Users/builduser/buildslave/mono/build/mcs/class/corlib/System/Attribute.cs:66)
System.Attribute.GetCustomAttribute (System.Reflection.MemberInfo element, System.Type attributeType, Boolean inherit) (at /Users/builduser/buildslave/mono/build/mcs/class/corlib/System/Attribute.cs:151)
System.Attribute.GetCustomAttribute (System.Reflection.MemberInfo element, System.Type attributeType) (at /Users/builduser/buildslave/mono/build/mcs/class/corlib/System/Attribute.cs:99)
BeardedManStudios.Forge.Networking.UnityEditor.ForgeClassObject..ctor (System.String location) (at C:/git/ForgeNetworkingRemastered/ForgeNetworkingUnityEditor/ForgeClassObject.cs:63)
BeardedManStudios.Forge.Networking.UnityEditor.ForgeNetworkingEditor.ReloadScripts (System.String[] files, System.String[] userFiles) (at C:/git/ForgeNetworkingRemastered/ForgeNetworkingUnityEditor/ForgeNetworkingEditor.cs:946)
BeardedManStudios.Forge.Networking.UnityEditor.ForgeNetworkingEditor.Initialize () (at C:/git/ForgeNetworkingRemastered/ForgeNetworkingUnityEditor/ForgeNetworkingEditor.cs:276)
BeardedManStudios.Forge.Networking.UnityEditor.ForgeNetworkingEditor.Init () (at C:/git/ForgeNetworkingRemastered/ForgeNetworkingUnityEditor/ForgeNetworkingEditor.cs:159)

Steps to reproduce:

I was unable to produce any reliable steps to reproducing it, however it happened just after the following steps modifying a NetworkBehavior to remove the properties and add an RPC method in this order:

  1. Added the RPC, saved & compiled. The RPC method did not add (going back into the behavior in the NCW showed there was no RPC method).
  2. Removing all properties, and saving & compiling worked as expected (NCW showed no properties on the behavior).
  3. Added the RPC again, saved & compiled. The RPC method did not add (again going back into the behavior in NCW).
  4. Restarted Unity resulting in the error pasted above.

Steps to fix from Unity editor:

  1. Delete the generated classes (name)Behavior.cs and (name)NetworkObject.cs and then follow the resulting errors and remove all code related to these two classes.
  2. Restart Unity and the NCW should display all other NetworkBehaviors and work as expected.

[Optional] Discord Username:

Relic#4678

Lan Discovery still not working - build provided

Version Number and Operating System(s):

latest develop as of Aug 7 2017

Expected behavior:

as client connect, disconnect, then issue lan discovery works again to connect.

Actual behavior:

as client can connect, disconnect, but then cannot reconnect again using lan discovery

Steps to reproduce:

download build here:
https://app.box.com/s/0nk43a9xl2jiol9d2cp2dibz3qu2bn1q

unzip
new project in unity
import package

add scenes to build:
titlev3
main
funnel
mixup
plots

build and run
for host:

  1. select multiplayer
  2. select host
  3. choose any map
    scene changes and wait for client to join ...

on client (either run another build or the unity player)

  1. select multiplayer
  2. select join (fires lan disco) and should auto-join the host

... now back on the host hit start game
... now on the client click the upper left hand "pause" icon
return to title screen. (this disconnects from host)

... now back on the host do the same as the client return to title.
then host another game.

... now back on the client click multiplayer
... Join - cannot find host (Lan discovery fails!)

[Optional] Discord Username: dumbfire

Deleted NetworkObject in NCW keeps coming back.

  1. Create TestNetworkObject in the NCW.
  2. Press trashcan next to TestNetworkObject to delete
  3. Open any existing networkobject and hit "Save & Compile", or create a new networkobject.
    The script for TestNetworkObject will be generated even though it has been deleted and will continue to do so every time I make a change to NCW

Found a temporary fix from Brent on discord where if i delete the file, FNWizardData.bin, the problem gets resolved.

NAT + MasterServer not working

Version Number and Operating System(s):

Latest version, win 10

Expected behavior:

You put them on Linux vps, launch them following these instructions
https://github.com/BeardedManStudios/ForgeNetworkingRemastered/wiki/Starting-up-MasterServer-and-NatPunch-on-DigitalOcean-droplet

And it just works.

Actual behavior:

Nothing works, no error, no warning, NOTHING in bms log , just refuses to connect to server.
Nat output doesnt show anything at all as well.

Steps to reproduce:

[Optional] Discord Username:

poolfire

I can just give you access to the repository with the project, and you literally can see the bug in action.
I am absolutely 100% incapable of understanding why it doesnt work.

Delay finalize call in RemovePlayer method

Version Number and Operating System(s):

Latest Master branch

Expected behavior:

There use to be a sleep for 500ms when testing, instead of doing that the FinalizeRemovePlayer method should be moved to a thread and delayed on that thread since it is called on the server

Actual behavior:

Potential that the client doesn't get the disconnect message

Steps to reproduce:

Disconnect a client forcefully

Before connecting to a server, see a list of available Local LAN game servers by custom name

Version Number and Operating System(s):

Macos 10.12.6, Forge v24.1, Unity v5.6.1f1

Expected behavior:

Before connecting to a server, see a list of available Local LAN game servers by custom name:
John's game
Maria's game
XYZ's game

Actual behavior:

List of Local LAN game servers can only have a name made of a device IP/port or hardcoded value:
Game 1
Game 2
Game 3

Steps to reproduce:

Using "RefreshLocalUdpListings" & "NetWorker.localServerLocated += LocalServerLocated;", one can retrieve all the local servers & store them in a list which would show to a client the available LAN games.
The types stored in the list are structs of type BroadcastEndpoints. They contain a string Address, ushort Port & bool IsServer.
If the BroadcastEndPoints were to have an additional string field (i.e: custom), then Hosts can set that field as a custom name that is broadcasted along with the Address, Port & IsServer values.
Clients can then use that custom name to show the game session's name instead of something else.
This could mostly be helpful for mobile devices:
Instead of having a list of local LAN games like game1,game2,game3...If we use the name of the device we can have a list of available local LAN games like John's game, Maria's game, XYZ's game...

[Optional] Discord Username:

vikMage5#1653

Calling RPC with Receivers.All on server does not call it on server

Version Number and Operating System(s)

Latest Develop branch, commit cad82c4
Unity 2017.1.0f3
Windows 10

Expected behavior

RPC should be called on server, as well as clients.

Actual behavior

RPC is only called on clients.

Steps to reproduce

Call networkObject.SendRpc(RPC_NAME, Receivers.All) on server. Clients will receive RPC, but server will not.
You can workaround this by calling if (NetworkManager.Instance.IsServer) networkObject.SendRpc(NetworkManager.Instance.Networker.Me, RPC_NAME);

Single run NetworkDiscovery issue

FNR 23.02, Win7 64, Unity 5.6
After disconnect editor can't find server on win build running on the same machine again, same problem with 2 android devices. After restarting the game the problem disapears, so NetworkDiscovery works just one time.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.