{"id":17224259,"url":"https://github.com/botder/mtasa-bootloader","last_synced_at":"2025-09-09T18:37:55.175Z","repository":{"id":104882670,"uuid":"380103557","full_name":"botder/mtasa-bootloader","owner":"botder","description":"A resource for server bootloading and resource keep-alive for a Multi Theft Auto server","archived":false,"fork":false,"pushed_at":"2021-06-25T04:04:01.000Z","size":84,"stargazers_count":11,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-14T00:41:02.622Z","etag":null,"topics":["bootloader","lua","mtasa","mtasa-resource","multi-theft-auto","scripting"],"latest_commit_sha":null,"homepage":"","language":"Lua","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/botder.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-06-25T02:33:29.000Z","updated_at":"2024-04-13T13:03:45.000Z","dependencies_parsed_at":null,"dependency_job_id":"7e2b097a-2b46-4f91-a3e0-85979f83a596","html_url":"https://github.com/botder/mtasa-bootloader","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/botder/mtasa-bootloader","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/botder%2Fmtasa-bootloader","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/botder%2Fmtasa-bootloader/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/botder%2Fmtasa-bootloader/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/botder%2Fmtasa-bootloader/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/botder","download_url":"https://codeload.github.com/botder/mtasa-bootloader/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/botder%2Fmtasa-bootloader/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274340921,"owners_count":25267297,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-09T02:00:10.223Z","response_time":80,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bootloader","lua","mtasa","mtasa-resource","multi-theft-auto","scripting"],"created_at":"2024-10-15T04:10:38.515Z","updated_at":"2025-09-09T18:37:55.028Z","avatar_url":"https://github.com/botder.png","language":"Lua","readme":"# Bootloader\n\nA resource for server bootloading and resource keep-alive for a Multi Theft Auto server.\n\nBootloading in the context of a MTA:SA server means this resource will start pre-configured resources in an undefined order. Furthermore, this bootloader will also keep pre-configured resources alive by checking the resource state with a timer - this behavior can be disabled.\n\nThe act of enabling or disabling a resource in the bootloader is logged by the server.\n\nThis resource is production-ready and can be used as-is.\n\n## Installation\n\n### Summary\n\n1. Upload to your server's **resources** directory\n2. Refresh your server with `/refresh` command\n3. Grant ACL permissions with `/aclrequest allow bootloader all`\n4. Add `command.bootloader` to **Admin** ACL permission list\n5. Add bootloader to **mtaserver.conf** resource startup list\n\n### How to install this resource\n\nPlace this resource in your server's **resources** directory to install it.\n\nIf your MTA:SA server is already running, you must execute the `/refresh` command (either as administrator or in the server console - without the slash prefix).\n\nThis resource has two ACL requests and it will __NOT__ work without these permissions, since they're essential to the functionality. This resource needs access to **startResource** and **stopResource** functions to start and stop other resources, respectively. You can grant these permissions with the command: `/aclrequest allow bootloader all`\n\nTo allow administrators to open the GUI configuration panel, they must be granted the permission to use the ACL right `command.bootloader`. You can do this either by manually editing your ACL.xml __AND__ executing `/reloadacl` on the server or by adding the right to the **Admin** ACL through the admin panel **Resources** tab.\n\nThis resource is meant to be put into your **mtaserver.conf** like this:\n```xml\n\u003cresource src=\"bootloader\" startup=\"1\" protected=\"1\"/\u003e\n\u003cresource src=\"resourcebrowser\" startup=\"1\" protected=\"1\" default=\"true\"/\u003e\n\u003cresource src=\"resourcemanager\" startup=\"1\" protected=\"1\"/\u003e\n\u003cresource src=\"mapmanager\" startup=\"1\" protected=\"0\"/\u003e\n\u003cresource src=\"race\" startup=\"1\" protected=\"0\"/\u003e\n```\n\nYou should move the **bootloader** to the end of the resource list, if you encounter any issues. You should also mark the bootloader as `protected=\"1\"` to prevent any user from stopping the resource.\n\n## Configuration\n\nThe bootloader exposes a few resource-level settings, which you can set manually by editing **settings.xml** (not recommended) or by opening the resource configuration through the admin panel **Resources** tab.\n\n| Setting          | Description                                        |\n| ---------------- | -------------------------------------------------- |\n| \\*keepAlive      | Periodically start checked, but stopped, resources |\n| \\*showGamemodes  | Display gamemode resources in the GUI              |\n| \\*showMaps       | Display map resources in the GUI                   |\n| \\*showRaceAddons | Display race addon resources in the GUI            |\n\n**NOTE:** The bootloader stores the list of enabled resources in the server's **settings.xml** file. It uses the key `@resources` and the value is a list of enabled resource names concatenated by a comma `,` character.\n\n## Usage\n\nYou open the bootloader configuration window with the `/bootloader` command. You can easily bind this command to any key (example: `/bind f4 bootloader`).\n\nThe configuration panel will receive the resource list in batches from the server (indicated by the loading spinner in the window title) to avoid hanging either the server or client. You can use the panel before the loading finishes.\n\nEvery line in the resource list of the bootloader GUI represents a single resource on the server. The circle indicates whether the resource is running (circle is green) or stopped (circle is gray). The checkbox indicates whether the resource is enabled for bootloading and keep-alive.\n\n![A line in the resource list of the bootloader window](.github/bootloader-line.png)\n\nTo find a resource in the resource list, you can apply several filters through the filter editbox in the configuration panel. The filter text is separated by whitespace and every *token* must match for a resource to appear.\n\nYou can filter by...\n\n- resource name\n- resource type with `#type` (corresponds to the `\u003cinfo type=\"foo\"/\u003e` meta.xml value).\n- resource state with `~on` or `~off` (read: is the resource running?)\n- enabled state with `@on` or `@off` (read: resource is checked)\n\nAny filter can be prefixed with a `!` to filter out results. By default, a filter includes a match in the resource list.\n\n![The filter editbox in the bootloader window](.github/bootloader-filter.png)\n![An example filter text](.github/bootloader-filter-filled.png)\n\n**NOTE:** By enabling a resource, the server will automatically start the resource.  \nBy disabling a resource, the server will automatically stop the resource.\n\n## Screenshots\n\n![The bootloader configuration window](.github/bootloader.png)\n\n![The bootloader configuration window with a filter to match 'misc' type resources](.github/bootloader-misc.png)\n\n![The bootloader configuration window with a filter to match all running resources without 'race' in the name](.github/bootloader-no-race.png)\n\n## License\n\nLicensed under the [MIT](LICENSE) license.\n","funding_links":[],"categories":["Libs and utils"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbotder%2Fmtasa-bootloader","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbotder%2Fmtasa-bootloader","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbotder%2Fmtasa-bootloader/lists"}