Uses a lua mod to redirect /bug reports to github issues.
When someone does a /bug in game, it sends the issue to github. No database interactions.
How the issues look:
![](https://private-user-images.githubusercontent.com/845670/315209335-53d2d5f4-fa34-4e67-92ef-adf44378b323.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjAxNDgxMDEsIm5iZiI6MTcyMDE0NzgwMSwicGF0aCI6Ii84NDU2NzAvMzE1MjA5MzM1LTUzZDJkNWY0LWZhMzQtNGU2Ny05MmVmLWFkZjQ0Mzc4YjMyMy5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwNzA1JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDcwNVQwMjUwMDFaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1jZTg4ZmEwZWQxMTZjZmE2NGJhMzkxNDM5NzE3OTY3ZjQyNzIwN2Q3MmE1NWE0NDM0ZWI3YTY4YjY3NDhhYWJiJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.cIFzCzgcxc2BOnjIsqpkPiLYfMHaT1mbPQRRdd4SBv0)
Expanded sections:
![](https://private-user-images.githubusercontent.com/845670/315209614-19e685bb-8be3-42bd-872b-815e5b83e12a.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjAxNDgxMDEsIm5iZiI6MTcyMDE0NzgwMSwicGF0aCI6Ii84NDU2NzAvMzE1MjA5NjE0LTE5ZTY4NWJiLThiZTMtNDJiZC04NzJiLTgxNWU1YjgzZTEyYS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwNzA1JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDcwNVQwMjUwMDFaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT0zYzViMTMyYzJlN2M3MjJmZjlhYTNjMmU1NTg5OGY3MTNjNDJkYTQwYWYzNmFlYjYzNDg3ZmMyZWI4YjQ3MTVhJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.TbQy3udpEI8GN_VFehuuz0wLsydhQmk5I6Ims-N-Fak)
- On /bug, a lua mod is fired and overrides the default behavior of in game #bugs.
- The lua mod creates a .txt file in the issues folder on your eqemu dir.
- Githubeq is a program that every minute by default, iteartes txt files in issues, and sends it to github as an issue. It then deletes the .txt file.
- You can then use projects in github to organize the issues and triage things, with less noise like you get on discord forum bug reports.
- NOTE eqemu has not yet added a PR that adds support for this. Once it is added, you'll need to wait for a release from eqemu and update your binaries to obtain it.
- Go to the releases page or click links in instructions below.
- Download githubeq-linux or githubeq-windows.exe based on your OS, place it in the root of your eqemu folder. (Ideally below quests)
- Run githubeq. It will exit and generate a githubeq.conf file.
- Create a personal access token:
- Go to Settings in Github
- On the bottom, click Developer Settings
- Go to Fine-grained tokens
- Click Generate new Token
- For token name, put
githubeq-<servername>
or whatever you like. - Expiration, I set mine for a year. This means in a year you'll need to refresh this token. (Not sure the maximum duration it can go)
- Repository Access, only select repositories, and find your repository you want issues to go to.
- Permissions, expand and scroll down to Issues, set access to Read and Write
- Click generate token. You'll get a token with prefix like
github_pat_
and a long string of characters. Copy this token.
- Edit your githubeq.conf file and put in your token.
- Add repository and user based on what the token was used, e.g. user: xackery, repository: githubeq would be for this repository.
- Run githubeq again. It should now work and go idle.
- Check if githubeq made an
issues
folder. This is where the issues in lua should generate at. - Download register_bug.lua and place it in your
mods
folder, which should be in your eqemu root. - Create a file called
mods/load_order.txt
if it doesn't already exist. - Edit
mods/load_order.txt
and addregister_bug.lua
to the bottom of the file. - Go in game and type
#rq
to reload quests. - Type
/bug
in game and create an issue. - Peek at githubeq's output after ~60s and you should see if it picked up the file.
- Check if issues in your repository is populated with your new issue.
You'll find in the githubeq.conf entries for labels.
While a description is provided, let me break it down even more here:
- bug_label will be applied to all /bug reports, if not empty
- fallback_label will be used if no label is set for a provided label
- the remaining labels are from the dropdown category in game. In my case, which is totally optional, I group them into this subset:
Other - bug Video - bug Audio - bug Pathing - npc Quest - quest Tradeskills - tradeskills Spell stacking - spell Doors/Portals - zone Items - items NPC - npc Dialogs - npc LoN - TCG - bug Mercenaries - bug
To use the above, I create each label in the labels section in github issues. Then I add the label name to the githubeq.conf file 1 to 1 with how it's worded.