Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - rxmarcus

Pages: [1] 2 3 ... 5
1
TNet 3 Support / Re: Discord Chat
« on: October 30, 2017, 08:28:46 PM »
I'm always appreciative of Discord servers for support of a Unity asset. I used to be a big part of the Forge discord server.

2
TNet 3 Support / Latency Spikes / Guidance
« on: October 11, 2017, 04:00:53 PM »
For the past while I've been attempting to set up dedicated servers for our game. I've have a server hosted on Linode, Digital Ocean and now one on NFO.

A consistent issue I've had is that latency for my players spikes rather high every 3 seconds or so. I'll get a good 3 seconds of 50ms ping (using TNets ping functionality) and then my ping will shoot up to 500ms, sometimes up to 1200ms. Then eventually it will come back down to 50ms.

This has been consistent across all these providers.... Is there any guidance or knowledge that anyone can share with me? Why might this be the case? Am I flooding the network with too many packets? Or is there possibly an issue with TNet?

I'm just not sure what to look at next and really want to get a solid / consistent online experience working for my playerbase.

Or is it really normal to have this much network jitter and game developers have just learned to deal with it?

3
TNet 3 Support / Re: SendQuickly Issue / Usage Question
« on: September 11, 2017, 10:56:36 PM »
Thanks cmifwdll!
Just wanted to report back that I indeed had forgotten to call StartUDP in my OnConnect callback. It seems to be working fine with SendQuickly now!

4
TNet 3 Support / SendQuickly Issue / Usage Question
« on: September 07, 2017, 11:33:11 PM »
So in my game I've been sending player position using tno.SendQuickly.....
We had noticed with a few amount of players that their player position wasn't updating to other clients and today I realized it was because I was using SendQuickly. Now that I'm just using Send it is working for these users. If I'm not mistaken, SendQuickly uses UDP while Send uses TCP? Does that mean that these users that were having this issue had some compatibility issues with the UDP protocol?

Is it not wise to try and use SendQuickly for something like player position that I'm updating rather frequently? I need it to work with all players though so should I just be using Send?

5
TNet 3 Support / Re: SetChannelData Performance / Best Practice
« on: September 06, 2017, 10:58:32 AM »
Thanks for the recommendations!

6
TNet 3 Support / SetChannelData Performance / Best Practice
« on: September 05, 2017, 03:18:59 PM »
I have lots of "game match" related data in my game currently (like teams, player stats, etc) that I've been tracking manually, and I instead want to let TNet do the heavy lifting.

I'm wondering what the best practices / structuring of data using the SetChannelData method is? I assume using a DataNode is a good way to do things.... but let's say I want to update a single stat for a player.... will it be a hit on performance / bandwidth if I have a single DataNode object that holds a large number of children nodes which in turn could hold a ton of player stats nodes?

For example, a player gets a kill, so I want to update in my stats that the player has +1 kill now. Will that require that the entire node object gets serialized, sent over the network and deserialized on everyone elses clients?

Just looking for some direction / best practices with dealing with this type of data and syncing it easily using TNets toolset.

7
TNet 3 Support / Re: Relative player number
« on: August 27, 2017, 06:06:59 PM »
Oops, Right after I posted I found another forum post explaining that you can use player.Get to get saved data.

Now that I'm saving player data using TNet, do you have any best practices for how I might handle running my game when it's local multiplayer (offline) using the same code?
Previously I was storing my 4 local player's data in normal C# lists, but how can I handle 4 local players when TNet operates on just having 1 player for online?

Hopefully it makes sense what I'm asking....


8
TNet 3 Support / Re: Relative player number
« on: August 27, 2017, 05:57:11 PM »
Thanks, that is helpful.

Now that I'm using SetPlayerData...... how am I able to get other players data? TNManager.GetPlayerData only returns OUR player data. How am I able to get other players saved data?

9
TNet 3 Support / Relative player number
« on: August 27, 2017, 03:43:20 PM »
In my game, there are 4 players in a match. While players that join have their PlayerID that TNet assigns them, I also need to keep track of a relative player number in regards to being player 1 - 4. (This number is used by an announcer in the game, and for organizing player UI, etc.)

Currently I've been tracking this myself in my GameManager as players leave and join the server, but it has become a big pain as I have to keep this data synced with players that are already on the server, and then players that later join. Also for example, player 2 could leave, and then I would want the next player to join the server to be assigned player 2 for their relative player number. (so I can't just sort by tnets playerID to determine relative 1 - 4 player numbers)

I'm just now learning more about TNet's SetPlayerData method and others, and am hoping I can get some guidance on what the best approach using these methods might be to easily sync this data across all players at all times? I thought as well about modifying tnet's source code to include a relativePlayerID, but am not sure how i'd do that....

any thoughts are appreciated

10
TNet 3 Support / Re: Post Match Cleanup
« on: August 07, 2017, 11:09:10 PM »
Agreed.
It is super problematic if I want to reset / start a new match with existing players in a channel as I don't want to have to kick them all out of a channel and have them join a new one just to clean up my network objects properly.....

11
TNet 3 Support / Re: Access Lobby Server Details Externally
« on: August 02, 2017, 11:48:46 AM »
Wow, thanks for the detailed response and direction.
This should definitely push me towards what I was wanting!

12
TNet 3 Support / Access Lobby Server Details Externally
« on: August 01, 2017, 10:38:26 AM »
I know this is a long shot, but figured I'd ask.

Is there any way possible that I could access the details of my Lobby Server via an HTTP request that could send me JSON for example?

I'm wanting to write a bot for my game's discord channel that will post when players host new matches on the lobby server so other players are aware.
Any thoughts are appreciated!

13
TNet 3 Support / Re: JoinRandomChannel with no scene
« on: July 28, 2017, 02:31:39 PM »
This is frustrating as the code comment for this method states: "Join a random open game channel or create a new one"

So it SHOULD create a new one if one doesn't exist, and it does if I pass a string for the scene, it's just if I pass null that it has issues. This ruins the usefulness of this method as I want to use it for quickplay on my game server, but with how its now acting I'd have to request a list of channels for the server, see if there are any, if so then I can call that method, otherwise I need to just use JoinChannel(0);

@ArenMook, can this method be fixed so that I can pass null for the scene like you can on other JoinChannel methods?

14
TNet 3 Support / JoinRandomChannel with no scene
« on: July 27, 2017, 08:00:57 PM »
Hey, is it possible to join a channel using TNManager.JoinRandomChannel without it loading a scene?

I only see the 1 overload which requires  a scene name, if I pass null I get an error of "No suitable channels found")

15
TNet 3 Support / Re: Post Match Cleanup
« on: July 27, 2017, 05:50:13 PM »
Commenting out those lines does indeed fix the issue as the objects are no longer marked "DontDestroyOnLoad". Can ArenMook chime in on if I'm ok to remove these lines or what reason they were added?

So by just changing scenes and letting the tno objects get cleaned up by the scene change, that will handle destroying a tno object correctly?
Is TNManager.LoadLevel(...) any different than SceneManager.LoadLevel(...) other than that it tells all clients to change scene automatically?

Pages: [1] 2 3 ... 5