-
Notifications
You must be signed in to change notification settings - Fork 20
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
In-process server #425
In-process server #425
Conversation
I wanted to provide this comment mainly out of curiosity: Weirdly, when I tried to compile this PR, I got
I resolved this by deleting Cargo.lock, so if anyone is interested in investigating what semver issue lead to this error, I've attached the Cargo.lock file that caused the error: It's probably not worthwhile debugging, though. It seems to be entirely unrelated to this PR and likely instead related to changes to my setup from hopping around various PRs. |
Probably a minor issue in an upstream crate that got fixed. |
This improved efficiency seems to have revealed a subtle bug I introduced in https://github.com/Ralith/hypermine/pull/414/files#diff-e8d8336a10bad73657026c14d2e141ca92d15c95a92aa7ca93df5366de21754eR186. Normally, the server's graph is kept in a clean state. Whenever nodes are added to it, these nodes are processed fully before any other code gets a chance to run. See code snippet. This generally creates a guarantee that if Before a server's first step, its state is polluted. Calls to The effect is that if a client connects to a server before the server runs its first step, then as long as there are any players outside of the root node that need to be loaded, the server will send a client the same node twice, resulting in a crash. The simplest workaround is to add However, a longer-term fix would be to ensure that EDIT: This should be fixed by #427. |
fa8fd23
to
a3abc58
Compare
a3abc58
to
cf67bfa
Compare
Our plan has always been to do away with the "fresh nodes" paradigm entirely in favor of deterministic node IDs, right? |
I believe so, although it's unclear to me what that will look like. It probably makes sense to figure that out before deciding where to store them. |
cf67bfa
to
bb0c497
Compare
bb0c497
to
5115bb3
Compare
Towards #405.
Rough in some places
and not actually working correctly yet.