Skip to content

Commit c01d721

Browse files
committed
initial commit
1 parent a9acb67 commit c01d721

35 files changed

Lines changed: 1870 additions & 456 deletions

.github/CODEOWNERS

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
* @CodeMeAPixel

.github/CONTRIBUTING.md

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
# Contributing to pxCommands
2+
3+
## Reporting Issues
4+
5+
- Use the issue tracker on GitHub: https://github.com/CodeMeAPixel/pxCommands
6+
- Include reproduction steps, FXServer version, and framework (if applicable).
7+
- For security issues, see [SECURITY.md](SECURITY.md).
8+
9+
## Submitting Changes
10+
11+
1. Fork the repository.
12+
2. Create a feature branch: `git checkout -b feature/your-feature`.
13+
3. Make clean, atomic commits with clear messages.
14+
4. Ensure no debug logs or test code remains.
15+
5. Submit a pull request with a clear description of changes.
16+
17+
## Code Standards
18+
19+
- Use 4-space indentation.
20+
- Keep functions focused and readable.
21+
- Avoid adding slop/bloat (excessive comments, debug output, unused code).
22+
- Server-side validation is mandatory for security-sensitive features.
23+
- Document breaking changes in PR description.
24+
25+
## Command Pack Guidelines
26+
27+
When contributing command packs:
28+
- Place the pack in `commands/yourpackname.lua`.
29+
- Use the `CommandPack()` helper from `system/server/pre.lua`.
30+
- Include inline documentation of command parameters.
31+
- Test thoroughly before submission (especially admin checks).
32+
- Avoid hardcoded player IDs or resource paths in command logic.
33+
34+
## Testing
35+
36+
Before submitting:
37+
- Test on a clean server with your target framework.
38+
- Verify ACL/admin checks work as expected.
39+
- Check that command help text displays correctly.
40+
- Ensure no console errors or warnings appear.
41+
42+
## License
43+
44+
By contributing, you agree that your code will be licensed under AGPL-3.0 (same as the project).

.github/FUNDING.yml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
1-
github: TheRealToxicDev
2-
custom: toxicdev.me
1+
patreon: codemeapixel
2+
github: CodeMeAPixel
3+
ko_fi: codemeapixel

.github/SECURITY.md

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
# Security Policy
2+
3+
## Reporting Security Issues
4+
5+
If you discover a security vulnerability in pxCommands, please report it responsibly by emailing **hey@codemeapixel.dev** instead of using public issue trackers.
6+
7+
### What to Include
8+
9+
When reporting a vulnerability, provide:
10+
- A clear description of the issue and its impact.
11+
- Affected versions or configurations.
12+
- Steps to reproduce the vulnerability.
13+
- Proof-of-concept code (if applicable).
14+
- Suggested remediation (optional).
15+
16+
### Response Timeline
17+
18+
We aim to:
19+
- Acknowledge receipt within 48 hours.
20+
- Provide an initial assessment within 5 days.
21+
- Release a patched version within 14 days for critical issues.
22+
- Credit you in release notes (unless you request anonymity).
23+
24+
## Security Best Practices for Users
25+
26+
### Server Configuration
27+
28+
1. **Enable ACL enforcement** — Use FXServer's ACL system for robust admin control in standalone mode.
29+
2. **Validate framework settings** — Ensure `framework` in `settings.lua` matches your actual server setup.
30+
3. **Restrict database access** — Use role-based database credentials (ESX/QBCore).
31+
4. **Keep FXServer updated** — Minimum version 1226 or newer recommended.
32+
33+
### Command Pack Safety
34+
35+
1. **Review external packs** — Audit command packs from third-party sources before deployment.
36+
2. **Sandbox testing** — Test new command packs on a staging server first.
37+
3. **Monitor logs** — Enable logging and regularly review server logs for suspicious activity.
38+
39+
### Development
40+
41+
1. **Input validation** — Always validate user input on the server side; never trust client checks.
42+
2. **Use parameterized queries** — Avoid string concatenation in SQL; use prepared statements.
43+
3. **Rate limiting** — Implement cooldowns for commands that consume resources or trigger actions.
44+
4. **Audit trails** — Log sensitive admin actions (bans, kicks, teleports) with timestamps and source.
45+
46+
## Known Limitations
47+
48+
- pxCommands does not enforce encryption for command data in transit; use HTTPS proxies if needed.
49+
- Custom command packs execute with full resource permissions; vet all code before deployment.
50+
- vRP compatibility (if used) relies on vRP's admin framework; misconfiguration there affects pxCommands security.
51+
52+
## Supported Versions
53+
54+
Security fixes are applied to the latest release. Older versions may not receive patches; users are encouraged to update regularly.
55+
56+
## Scope
57+
58+
This policy applies to:
59+
- Core pxCommands framework code.
60+
- Included modules (overhead text, proximity).
61+
62+
This policy does not apply to:
63+
- Third-party command packs.
64+
- FXServer or framework bugs (report those upstream).
65+
- Operational configuration issues.

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
.ideas

CHANGELOG.md

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
# Changelog
2+
3+
## [0.1.0] — 02-09-2026
4+
5+
### Added
6+
- GitHub Releases-based version checking (replaces local version file)
7+
- Development build detection ("dev" when no releases exist)
8+
- GitHub API integration for update checking and autoupdate
9+
- Comprehensive documentation reorganization (.github/, docs/)
10+
- MIGRATION.md guide in docs/ for upgrade path from chat_commands
11+
- Proper system/config.lua with structured Config table
12+
- `Config.Framework` single string field for framework selection (replaces booleans)
13+
- `Config.Formatting.*` for show_id and useFrameworkName options
14+
- `Config.Callbacks.onCommandExecuted` hook for command audit logging
15+
- `Config.AdminCheck` callback for custom admin logic
16+
- Example command pack in `commands/example.lua`
17+
- QBCore export validation to prevent nil errors
18+
- Modern `fxmanifest.lua` (cerulean format)
19+
- Support for ESX, QBCore, QBox, and standalone frameworks
20+
- Modular architecture with clean separation of concerns
21+
- pxCommands event namespace throughout
22+
- Enhanced SECURITY.md policy
23+
- Contributing guidelines
24+
25+
### Changed
26+
- Rebranded from `chat_commands` to `pxCommands`
27+
- Updated repository to https://github.com/CodeMeAPixel/pxCommands
28+
- Contact updated to hey@codemeapixel.dev
29+
- Version system now checks GitHub Releases API instead of local file
30+
- Autoupdate redirects to GitHub releases instead of file updates
31+
- Documentation reorganized: `.github/` for repo docs, `docs/` for guides
32+
- Replaced global `SETTINGS` with structured `Config` table
33+
- settings.lua now acts as override/customization file instead of config source
34+
- Improved framework detection with explicit export checking
35+
- Enhanced logging with config-aware defaults
36+
- README.md moved to .github/ (GitHub auto-discovers)
37+
38+
### Fixed
39+
- Fixed variable scope issue in ESX command registration (raw variable)
40+
- QBCore initialization now properly checks for export existence before use
41+
- Removed busy-wait loops in version check
42+
- Dead links and outdated documentation removed
43+
- Updated all doc cross-references to point to correct paths
44+
45+
### Removed
46+
- Static version file from version checks (now uses GitHub releases)
47+
- vRP compatibility (deprecated; use ESX, QBCore, or QBox)
48+
- Old toxicdev.me documentation references
49+
- Corrupted dual-content in README

0 commit comments

Comments
 (0)