ID:2628878
 
(See the best response by Magicsofa.)
Problem description:
Since I can't offer ports to connect to off of my PC, I host using a VPS. (Vultr).

Other players have been reporting how smooth the game is, however for me personally I do experience "Lag" of sorts while playing.

This lag cannot be reproduced when I play on 4 dream seekers connected to a dream daemon off my PC. (This is how I usually play test if I'm not doing a public test).


But yeah, whenever I am connected to the VPS and playing about every 30 seconds I have a 0.5-2 second or so screen tear or skip of sorts. I'm thinking it's either my internet connection, or something running on my computer or something. I dunno.

If anyone has any insights into this, I'd greatly appreciate it. Cheers.

All I can think of is, how far away is it? Maybe you have a bad connection to the server while your players do not. Can you ping it?
How would I go about ping'ing it Magicsofa?

And yeah, its on Toronto and I'm on the East Coast of Canada. So about 1 timezone away.
Best response
I disconnected/reconnected my internet and that seemed to fix the glitching for the 2 minutes I tested. Went instantly from tearing every 10-30 seconds to no tears at all.

I'm using wifi, nat type 2, terrible internet service provider.

I get kicked off the internet a lot on my PS4 and have general problems otherwise.

So I think as long as I refresh my internet connection prior to joining, I may be good. >.<
45 ms ping average(thanks for that by the way!)
Update: While I was able to fix this problem for myself, a friend of mine with a poor internet connection but who lives close to me also experienced the hitches. I told him to reboot his internet then rejoin but that didnt fix the issue sadly.

It seems the pixel movement of the game requires a stable internet connection of sorts or else you as he put it, its like "1fps". T_T
Well if his connection is bad then there's not much you can do about that. What's your world.fps?
In response to Magicsofa
Client FPS is 60, world.fps is 30.

I believe I've tested world.fps from 25-40 and found that 30 was the smoothest for whatever reason awhile back. Not sold on staying at 30, but also not sure how much of the game would be effected by adjusting the world.fps.

He plays other online games, and yeah, I dunno I feel somewhat responsible if I can't make a 2d game run well for slower internet connections haha.
Does he also have an old computer? If so allowing him to lower his own client's tick rate could help.

To some extent it doesn't matter how well the game runs - if you want the controls to respond faster, that's going to cost more packet time. If you wanted to drop the fps significantly but "hide" that fact from players, I think you'd have to soft code some sort of rubber banding magic. It's something I've thought about but haven't attempted. At the very least it would be possible to use animate() to reproduce the old gliding behavior, masking the drop in frames. The controls would be less responsive though.
In response to Magicsofa
Naw man. He's got a new computer, he streams on twitch playing games like mech warrior online and stuff. So a decent enough computer/internet speed to run a BYOND game. :/

Rubber banding magic aside, do you think it'd be beneficial for me to alter the client or world fps from their current numbers? And/or give players the ability to alter their client.fps?

Not sure if either of my suggestions would fix the issue though.
It depends on how fast and responsive your game is. If you cut the world.fps down to 15, that would be half as much information that the server has to handle. However, the controls will also be half as responsive. It's still 15 frames per second so it won't feel totally sluggish, but in a fast-paced game that requires precision movement, it could be detrimental.