Reporting Issues with ScheduleLua
This guide explains how to effectively report issues with ScheduleLua to help the development team quickly understand, reproduce, and fix problems.
Beta Software Notice: ScheduleLua is in active development. Before reporting, please check if your issue is already known or fixed in a newer version.
Before Reporting an Issue
Before submitting a new issue, please:
- Check the known issues: Review the Known Issues to see if your problem is already documented
- Search existing issues: Check if someone has already reported the same problem
- Update to the latest version: Ensure you're using the most recent version of ScheduleLua
- Try simple troubleshooting: Disable other mods, restart the game, or try a clean install
Where to Report Issues
Issues can be reported through:
- GitHub Issues (preferred): https://github.com/ScheduleLua/ScheduleLua-Framework/issues
- Discord: For security vulnerabilities only, contact ifbars directly via Discord DMs
How to Write a Good Bug Report
A good bug report should include:
1. Clear and Descriptive Title
Provide a concise title that summarizes the issue.
Good: "Game crashes when using Registry API in OnSceneLoaded hook"
Bad: "Game crashes" or "Help please"
2. Environment Information
Include details about your setup:
- ScheduleLua version
- Schedule I game version
- MelonLoader version
- Operating system
- Other mods installed (if any)
- Hardware specs (if relevant)
3. Steps to Reproduce
Provide detailed, step-by-step instructions to reproduce the issue:
1. Start a new game
2. Load the attached script
3. Enter the shop
4. Open the inventory menu
5. Click on an item
4. Expected vs. Actual Behavior
Clearly describe:
- What you expected to happen
- What actually happened
5. Error Messages and Logs
Include any error messages or stack traces. Attach the full logs from:
- MelonLoader console output
MelonLoader/Latest.log
- Windows Event Viewer (if applicable)
6. Screenshots or Videos
If possible, include visual evidence of the issue, especially for UI problems or visual glitches.
7. Sample Code
For script-related issues, provide the simplest code example that reproduces the problem:
-- Minimal example demonstrating the issue
function OnSceneLoaded(sceneName)
local item = GetItem("itemid") -- This line causes a crash
Log(item.name)
end
Tip: The more specific and detailed your bug report is, the faster we can identify and fix the issue.
Example Bug Report Template
When submitting a bug report, please use the following format:
Bug Report Example
Title: Game crashes when accessing Registry items during scene transition
Environment:
- ScheduleLua v0.1.0
- Schedule I v0.3.4
- MelonLoader v0.7.0
- No other mods installed
Steps to Reproduce:
1. Start a new game
2. Run the attached script
3. Travel from Home to Downtown
4. The game crashes during loading
Expected Behavior:
The script should wait until the Registry is ready before accessing items.
Actual Behavior:
Game crashes with NullReferenceException during scene loading.
Error Message:
NullReferenceException: Object reference not set to an instance of an object
at ScheduleLua.RegistryAPI.GetItem(String itemId) in RegistryAPI.cs:line 42
at UserScript.OnSceneLoaded(String sceneName) in script.lua:line 5
Sample code that triggers the issue:
function OnSceneLoaded(sceneName)
-- This causes the crash because Registry isn't ready yet
local item = GetItem("baggie")
Log(item.name)
end
Remember to attach the full MelonLoader log and any relevant screenshots.
Bug Report Lifecycle
After submitting your issue:
- Triage: The team will review and categorize the issue
- Reproduction: We'll attempt to reproduce the issue
- Investigation: The root cause will be investigated
- Resolution: The issue will be fixed or marked for future work
- Feedback: You may be asked for additional information
Tips for Effective Bug Reporting
Following these best practices will help us resolve your issue more quickly:
- One issue per report: File separate reports for unrelated issues
- Be specific: Provide exact details, not general descriptions
- Be concise: Include necessary information, but avoid lengthy explanations
- Stay factual: Describe what happened, not why you think it happened
- Be responsive: Reply to questions from developers if they need more information
- Test fixes: When a fix is released, confirm if it resolves your issue
Security Vulnerabilities
Important: For security vulnerabilities, please do not file a public issue.
Instead:
- Contact the developer directly via Discord: ifbars
- Provide a detailed description of the vulnerability
- Wait for acknowledgment before disclosing publicly
Feature Requests vs. Bug Reports
Remember that feature requests are different from bug reports:
- Bug: Something that doesn't work as designed or documented
- Feature Request: A suggestion for new or improved functionality
For feature requests, please use the feature request template instead.
Thank You!
Thank you for helping improve ScheduleLua by reporting issues. Your detailed reports are essential for maintaining and improving the quality of the project.