mirror of
https://github.com/DarkflameUniverse/DarkflameServer.git
synced 2026-10-02 10:53:44 +00:00
feat(ugc): placed models from the UGC server without 3D services
A placed model's client (1.10.64, UGCUSE3DSERVICES=7:0) always loads its blueprint's NIF and HKX (its BlueprintComponent sets renderUserGen and physicsUserGen itself) and its LXFML, asks the world for each file's manifest first and waits for the answer with no timeout. With ugc_manifest=1 and the new ugc_manifest_models=1 (default 0) the world: - leaves the models whose mesh the UGC server made out of the LXFML it sends when a property loads, - answers their NIF with the UGC server's checksum, their LXFML with the stored LXFML's (worked out once and kept) and their HKX as not known, - sends a model that isn't made its LXFML (once for the three requests), so the client builds it itself and no model is left waiting. When the UGC server writes a model's mesh with a new checksum it sends UGC_MODELS_MADE (a new master message, appended) to the master, which passes it to every world; a world with that model placed sends its players the new NIF checksum and NotifyClientUGCModelReady (game message 909, the blueprint id), so clients switch to the served mesh. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -95,7 +95,13 @@ mute_auto_reject_names=1
|
||||
ugc_debounce_seconds=120
|
||||
|
||||
# 0 or 1: worlds answer game clients without 3D services (UGCUSE3DSERVICES=7:0, the default) with the checksums of the
|
||||
# files the UGC server made, so they download the icons of cars, rockets and models. The 1.10.64 client then downloads
|
||||
# from http://127.0.0.1:80/lwoclient/UserBrickModels/ whatever its boot.cfg says, and a client that can't connect there
|
||||
# is logged out, so only set 1 when the UGC server answers there for every player. See docs/UgcServer.md.
|
||||
# files the UGC server made, so they download the icons of cars, rockets and models from the UGCSERVERIP, UGCSERVERPORT
|
||||
# and UGCSERVERDIR of their boot.cfg (default: the PATCHSERVER* values). A client that can't connect there is logged
|
||||
# out, so only set 1 when every player's boot.cfg points at the UGC server. See docs/UgcServer.md.
|
||||
ugc_manifest=0
|
||||
|
||||
# 0 or 1, with ugc_manifest=1: placed player models the UGC server has made are downloaded from it (their mesh) instead
|
||||
# of being built by each client from the LXFML the world sends; models not made yet are still sent as LXFML. The UGC
|
||||
# server makes no physics (.hkx): a client that never built a model itself has no collision for it. See
|
||||
# docs/UgcServer.md.
|
||||
ugc_manifest_models=0
|
||||
|
||||
Reference in New Issue
Block a user