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

CUSTOM.ide, CUSTOM.img and CUSTOM.ipl patcher #20

Open
BigETI opened this issue Sep 25, 2017 · 3 comments
Open

CUSTOM.ide, CUSTOM.img and CUSTOM.ipl patcher #20

BigETI opened this issue Sep 25, 2017 · 3 comments
Assignees

Comments

@BigETI
Copy link
Owner

BigETI commented Sep 25, 2017

  • Detect custom server through https://github.com/Southclaws/samp-servers-api
  • Ask client to download given resources
  • Back up old files and patch with downloaded files
  • Start client, and wait for close
  • Override files with the backup
@BigETI BigETI self-assigned this Sep 25, 2017
@Southclaws
Copy link
Contributor

I will add a files field to the server object at some point for this. Will discuss in the API v3 design issue.

@AGraber
Copy link

AGraber commented Nov 11, 2019

I think this should get some priority given that the DL feature is being abandoned. Servers should then recommend this launcher so they don’t miss any custom assets. There are simple ways to detect if the player has custom assets then (for example place the player on some custom platform object and see if they fall through).

@IS4Code
Copy link

IS4Code commented Nov 18, 2019

I propose an alternate detection method via a custom server rule, let's say ~assets (can be set via YSF or perhaps OMP). I also think that an ability to specify multiple packages that can be chosen from would be useful, in this format for example:

rule: ~assets:Liberty City
value: http://.../LC.zip#98443517
rule: ~assets:Vice City
value: http://.../VC.zip#69218791

Upon connecting to such a server, the user would be prompted to choose which packages should be downloaded (as not all assets need to be downloaded to play on a particular server).
The archives would contain any number of IMG, IDE, and IPL files, which the launcher would merge and store in the SAMP directory for them to be loaded. The hash of the package could be placed in the fragment section of the URL, so that it doesn't have to be downloaded every time.
The launcher should remember the settings for every individual server, and prompt the user to again choose which packages to download when new assets are added or the hashes change.

This has the advantage of giving the user a choice what to download (something DL doesn't support, regrettably), so the only disadvantage of this method when compared to DL would be the inability to download models at runtime (so no models generated at runtime).

Modified models can be detected with SendClientCheck, or perhaps a custom "password" could be sent to the servers that declare to support it. Let's say the user selects both packages, SA-MP would be started with assets=Liberty City;Vice City&password=original_password as the server password.

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

4 participants