Skip to content
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

Transmission of models & textures in MP #7

Open
ghost opened this issue Aug 18, 2015 · 7 comments
Open

Transmission of models & textures in MP #7

ghost opened this issue Aug 18, 2015 · 7 comments

Comments

@ghost
Copy link

ghost commented Aug 18, 2015

It's no good if we're all the same character...
Here's the general idea:

  1. The custom renderer doesn't run unless the server says a player chose a model, or it's the local player and the user has chosen a model
  2. When a player chooses a model they upload the binary blobs to the server. (Not performed if server has files-have a way to check)
  3. Player then sends a manifest of which blob is the model, and which blobs map to what files
  4. Server then deletes any unused files that player owns (OPTIONAL)
  5. Server relays model to other players
  6. When a player receives a model they then use that model for rendering the player associated with it

The server should be able to opt-out from transmitting/receiving files.
Since the client should have a list of models available anyway, the server must still pass the manifests - the clients will then search their local model directories for a PMX file that matches and try to use that.

@ghost ghost added the enhancement label Aug 18, 2015
@Victorious3
Copy link
Member

Yeah, if this eventually gets a server side backend, definitely. That's what ModelCache is supposed to do. I'm not too sure about uploading models, because well... I'm always a bit paranoid if it comes to uploading something from the client -> server, but well. It would work that way.

Not sure how big these files are though. I would throw it at a worker thread and then slowly load the models afterwards. We need a way of identifying a model.

@skyem123
Copy link
Member

Is there any danger to loading the model files onto computers?

@Victorious3
Copy link
Member

@skyem123 Well, it could be a virus ^^ It won't get run, but still. Maybe there is a way to validate the file...

@ghost
Copy link
Author

ghost commented Aug 18, 2015

To ID the model, we just get the hash of the uncompressed-but-packed file(something like a TAR). That's why we need the way the packing occurs to be consistent - so the same data creates the same packed file, which has the same hash.
As for the virus problem: there is no virus problem. Nobody is going to execute these files, putting executable files in would be detected as "unused files", and using them as a texture would cause a load error.

@skyem123
Copy link
Member

so it'll be the same security issues as downloading a texture pack from the server?

@ghost
Copy link
Author

ghost commented Aug 18, 2015

skyem123: What security issues
The client isn't executing it...!

@skyem123
Copy link
Member

Maybe there could be a way to share the animation files, but download the models from the official sources?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants