What happened to OC? - CLOSED Carnage?!
Kavawuvi

Misc CE Development

286 posts in this topic

Tiddy-bits:

16 hours ago, Devieth said:

Now some of this can cause minor annoyances to players with good/low ping, which are not lag or warp.  More of the fact that is exaggerates issues already in Halo (Ex: The grenade animation desync.) Another issue is this is updating those positions every tick and since Halo runs at 30 tick, so the first person positional updates are still jittery.


Players with high ping (150+), we reach a whole different story since Halo's netcode transfer's player data over UDP ports, meaning a player with high ping can get packets from the server in the wrong order more often, causing micro-stuttering (warps) with their own positions and others.

 

Nice!

 

Ping is merely a measurement of latency, which is often influenced by connection reliability, but not always. You could have 30 ping and have massive packet loss or desync, or have 200 ping and have no packet loss or desync. In Halo, it becomes a useless number when you have less than 80 ping, and anyone who says otherwise is full of shit, regardless of whatever argument that they have.

 

If you want to reduce packet rate, what if you tried only syncing velocity deltas (at a certain threshold), or just syncing when damage with force has been applied? With your super jump, it seems pretty useless to sync anything beyond just the initial jump, as the speed isn't going to change between either the server or client.

Share this post


Link to post
Share on other sites
2 hours ago, aLTis said:

How exactly did you do this? Seems too good to be true.

Its in parts of Halo's netcode. Most of it was set to save bandwidth because when HaloPC was released it was made so people with dial-up could play.  The downfall was it broke multiple things (plasma weapons with stun got affected the worst.)  Also it didn't really save that much bandwidth.
 

 

26 minutes ago, 002 said:

 

Nice!

 

Ping is merely a measurement of latency, which is often influenced by connection reliability, but not always. You could have 30 ping and have massive packet loss or desync, or have 200 ping and have no packet loss or desync. In Halo, it becomes a useless number when you have less than 80 ping, and anyone who says otherwise is full of shit, regardless of whatever argument that they have.

 

If you want to reduce packet rate, what if you tried only syncing velocity deltas (at a certain threshold), or just syncing when damage with force has been applied? With your super jump, it seems pretty useless to sync anything beyond just the initial jump, as the speed isn't going to change between either the server or client.

Packet rate is still tiny compared to most modern games now days anyway and since I'm using using things already built into Halo there isn't a whole lot I can do.

 

Share this post


Link to post
Share on other sites
15 minutes ago, Devieth said:

Its in parts of Halo's netcode. Most of it was set to save bandwidth because when HaloPC was released it was made so people with dial-up could play.  The downfall was it broke multiple things (plasma weapons with stun got affected the worst.)  Also it didn't really save that much bandwidth.
 

 

Packet rate is still tiny compared to most modern games now days anyway and since I'm using using things already built into Halo there isn't a whole lot I can do.

 

A while ago, @Samuco figured out a way to fix a lot of the warp issue, despite being all the way in Australia and having a big 300 ms delay, and it simply involved modifying the packets themselves in some way. I'm not entirely sure how he did it, though, and it hasn't been replicated yet.

Share this post


Link to post
Share on other sites

So what would it take to implement this?  From your video it seems you are telling the server to activate or deactivate syncing, so I'm assuming you modified the server.  Is the client of the person jumping and your client also modified? 

 

On 10/29/2016 at 8:35 PM, Devieth said:

without needing a client/server side plugin

By this do you you mean that the information is being transmitted with a modified version of halo's netcode instead of behind halos back with a third party piece of software?

Share this post


Link to post
Share on other sites
6 hours ago, NeoAmos said:

So what would it take to implement this?  From your video it seems you are telling the server to activate or deactivate syncing, so I'm assuming you modified the server.  Is the client of the person jumping and your client also modified? 

 

By this do you you mean that the information is being transmitted with a modified version of halo's netcode instead of behind halos back with a third party piece of software?

 

All part of the stock netcode.

 

On 10/30/2016 at 0:20 PM, Devieth said:

Its in parts of Halo's netcode. Most of it was set to save bandwidth because when HaloPC was released it was made so people with dial-up could play.  The downfall was it broke multiple things (plasma weapons with stun got affected the worst.)  Also it didn't really save that much bandwidth.

 

Its more of making the game true 30 tick (to the server and back to the client.) Normally the client updates to the server with all the required data at 30 tick and the server is sending back a mix of 30, 2, or 1 tick. Most of the information was only being sent back at 2 or 1 tick which is why warping would be so bad. The one thing that was 30 tick back to the client was what prevented it from being completely unplayable.

Sadly using this settings cause desync in other areas (footstep sounds and nade throw animations are the worst offenders.)

WaeV likes this

Share this post


Link to post
Share on other sites

So you only have to modify the server to send all data at 30 ticks, and the clients don't have to be changed at all?  That would make it easy to deploy since server owners can choose to add it if they want to, and all people playing on that server will benefit.

 

If I wanted to look at halo's code, what would I have to do?

Edited by NeoAmos

Share this post


Link to post
Share on other sites
3 hours ago, NeoAmos said:

So you only have to modify the server to send all data at 30 ticks, and the clients don't have to be changed at all?  That would make it easy to deploy since server owners can choose to add it if they want to, and all people playing on that server will benefit.

 

If I wanted to look at halo's code, what would I have to do?

 

Yes only have to make the server send all data at 30 ticks but.. There are some things I have found that are server side and client side and haven't got time to test them and see if they have an impact on the bugs this does cause.  That's why I haven't made a script that does this automaticly yet.  Cause the sound errors are audible to other players, which could give away player positions when it shouldn't.

Share this post


Link to post
Share on other sites

Oh I thought you actually synced velocities somehow. I accidentally had this enabled on my server for a while lol. If you could increase rate of vehicle position updates now that would be really awesome.


08f9474ede.jpg

Share this post


Link to post
Share on other sites
  • Recently Browsing   0 members

    No registered users viewing this page.