{"id": 202877062, "node_id": "MDExOlB1bGxSZXF1ZXN0MTAyOTU5MDg1", "number": 1, "title": "Updates to database and underlying code", "user": {"value": 6705011, "label": "xanxin887"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 0, "created_at": "2017-01-24T16:55:13Z", "updated_at": "2017-01-24T18:24:10Z", "closed_at": "2017-01-24T18:24:10Z", "author_association": "NONE", "active_lock_reason": null, "draft": 0, "pull_request": "ACEmulator/ACE/pulls/1", "body": "Updates to database and underlying code", "reactions": "{\"url\": \"https://api.github.com/repos/ACEmulator/ACE/issues/1/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "performed_via_github_app": null, "state_reason": null, "repo": {"value": 79078680, "label": "ACE"}, "type": "pull"} {"id": 202908658, "node_id": "MDExOlB1bGxSZXF1ZXN0MTAyOTgxNDMw", "number": 2, "title": "Updates for DB 1/24/17", "user": {"value": 6705011, "label": "xanxin887"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 1, "created_at": "2017-01-24T18:58:40Z", "updated_at": "2017-02-01T12:50:46Z", "closed_at": "2017-02-01T12:50:46Z", "author_association": "NONE", "active_lock_reason": null, "draft": 0, "pull_request": "ACEmulator/ACE/pulls/2", "body": "Updates for DB to prep for creating associated tables", "reactions": "{\"url\": \"https://api.github.com/repos/ACEmulator/ACE/issues/2/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "performed_via_github_app": null, "state_reason": null, "repo": {"value": 79078680, "label": "ACE"}, "type": "pull"} {"id": 204489692, "node_id": "MDU6SXNzdWUyMDQ0ODk2OTI=", "number": 3, "title": "ACE loading dat files", "user": {"value": 10608427, "label": "Mag-nus"}, "state": "closed", "locked": 0, "assignee": {"value": 25351661, "label": "Mogwai-TheFurry"}, "milestone": null, "comments": 0, "created_at": "2017-02-01T03:34:33Z", "updated_at": "2017-03-06T13:16:08Z", "closed_at": "2017-03-06T13:16:08Z", "author_association": "MEMBER", "active_lock_reason": null, "draft": null, "pull_request": null, "body": "It's needed for a lot of things\r\nEven a basic packet broadcast will need it", "reactions": "{\"url\": \"https://api.github.com/repos/ACEmulator/ACE/issues/3/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "performed_via_github_app": null, "state_reason": "completed", "repo": {"value": 79078680, "label": "ACE"}, "type": "issue"} {"id": 204489832, "node_id": "MDU6SXNzdWUyMDQ0ODk4MzI=", "number": 4, "title": "ACE World DB Design", "user": {"value": 10608427, "label": "Mag-nus"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 2, "created_at": "2017-02-01T03:36:00Z", "updated_at": "2017-04-03T12:06:09Z", "closed_at": "2017-04-03T12:06:09Z", "author_association": "MEMBER", "active_lock_reason": null, "draft": null, "pull_request": null, "body": "We need a core design, and then to work on population.", "reactions": "{\"url\": \"https://api.github.com/repos/ACEmulator/ACE/issues/4/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "performed_via_github_app": null, "state_reason": "completed", "repo": {"value": 79078680, "label": "ACE"}, "type": "issue"} {"id": 204489878, "node_id": "MDU6SXNzdWUyMDQ0ODk4Nzg=", "number": 5, "title": "ACE Chat System", "user": {"value": 10608427, "label": "Mag-nus"}, "state": "closed", "locked": 0, "assignee": {"value": 10608427, "label": "Mag-nus"}, "milestone": null, "comments": 4, "created_at": "2017-02-01T03:36:34Z", "updated_at": "2017-07-26T16:51:19Z", "closed_at": "2017-07-26T16:51:19Z", "author_association": "MEMBER", "active_lock_reason": null, "draft": null, "pull_request": null, "body": "StackOverflow had something working in chat, perhaps submit a pull request.", "reactions": "{\"url\": \"https://api.github.com/repos/ACEmulator/ACE/issues/5/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "performed_via_github_app": null, "state_reason": "completed", "repo": {"value": 79078680, "label": "ACE"}, "type": "issue"} {"id": 204489997, "node_id": "MDU6SXNzdWUyMDQ0ODk5OTc=", "number": 6, "title": "Characters aren't saved or loaded properly yet from the DB", "user": {"value": 10608427, "label": "Mag-nus"}, "state": "closed", "locked": 0, "assignee": {"value": 25125434, "label": "TigrisOfGaul"}, "milestone": null, "comments": 4, "created_at": "2017-02-01T03:37:48Z", "updated_at": "2017-02-11T02:28:13Z", "closed_at": "2017-02-11T02:28:13Z", "author_association": "MEMBER", "active_lock_reason": null, "draft": null, "pull_request": null, "body": "Per Rawaho. This needs looking into.", "reactions": "{\"url\": \"https://api.github.com/repos/ACEmulator/ACE/issues/6/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "performed_via_github_app": null, "state_reason": "completed", "repo": {"value": 79078680, "label": "ACE"}, "type": "issue"} {"id": 204490022, "node_id": "MDU6SXNzdWUyMDQ0OTAwMjI=", "number": 7, "title": "World object movement / animation needs proper implementing", "user": {"value": 10608427, "label": "Mag-nus"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 2, "created_at": "2017-02-01T03:38:06Z", "updated_at": "2017-07-26T16:51:29Z", "closed_at": "2017-07-26T16:51:29Z", "author_association": "MEMBER", "active_lock_reason": null, "draft": null, "pull_request": null, "body": "Per Rawaho", "reactions": "{\"url\": \"https://api.github.com/repos/ACEmulator/ACE/issues/7/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "performed_via_github_app": null, "state_reason": "completed", "repo": {"value": 79078680, "label": "ACE"}, "type": "issue"} {"id": 204490371, "node_id": "MDU6SXNzdWUyMDQ0OTAzNzE=", "number": 8, "title": "Client Launcher needed", "user": {"value": 10608427, "label": "Mag-nus"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 5, "created_at": "2017-02-01T03:41:07Z", "updated_at": "2017-02-16T21:49:46Z", "closed_at": "2017-02-16T21:49:40Z", "author_association": "MEMBER", "active_lock_reason": null, "draft": null, "pull_request": null, "body": "We need a client launcher. Perhaps we use a modified thwarglauncher.\r\nhttps://thwarglauncher.codeplex.com/\r\n\r\nFor decal to work:\r\n\"for emu, you should make a launcher that injects OR a shim client that loads the client and injects\"\r\n\"just stuff inject.dll in the process space early enough and it will do its thing\"", "reactions": "{\"url\": \"https://api.github.com/repos/ACEmulator/ACE/issues/8/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "performed_via_github_app": null, "state_reason": "completed", "repo": {"value": 79078680, "label": "ACE"}, "type": "issue"} {"id": 204506877, "node_id": "MDU6SXNzdWUyMDQ1MDY4Nzc=", "number": 9, "title": "Rework packet pipe", "user": {"value": 6111341, "label": "Rawaho"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 3, "created_at": "2017-02-01T06:26:07Z", "updated_at": "2017-02-21T12:34:45Z", "closed_at": "2017-02-21T12:34:45Z", "author_association": "CONTRIBUTOR", "active_lock_reason": null, "draft": null, "pull_request": null, "body": "Rewrite packet and fragment handling to delay and allow for combining outgoing fragments.", "reactions": "{\"url\": \"https://api.github.com/repos/ACEmulator/ACE/issues/9/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "performed_via_github_app": null, "state_reason": "completed", "repo": {"value": 79078680, "label": "ACE"}, "type": "issue"} {"id": 204670023, "node_id": "MDExOlB1bGxSZXF1ZXN0MTA0MTk2NjM1", "number": 10, "title": "Client and Server expects account in ace_auth to be lowercase only.", "user": {"value": 11369233, "label": "LtRipley36706"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 1, "created_at": "2017-02-01T18:45:44Z", "updated_at": "2017-02-02T16:36:57Z", "closed_at": "2017-02-02T16:36:53Z", "author_association": "MEMBER", "active_lock_reason": null, "draft": 0, "pull_request": "ACEmulator/ACE/pulls/10", "body": "This is my first pull request, please let me know if I'm doing this incorrectly.\r\n\r\nSimple change I made to the accountcreate command to correct and prevent the issue I experienced when setting up ACE.\r\n\r\nThe client always sends accounts as lowercase regardless of what the user types in the command line. The server itself resolves the difference and connects as well. The issue surfaces when attempting to create a character. That packet is sent, but no response is ever recv'd.", "reactions": "{\"url\": \"https://api.github.com/repos/ACEmulator/ACE/issues/10/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "performed_via_github_app": null, "state_reason": null, "repo": {"value": 79078680, "label": "ACE"}, "type": "pull"} {"id": 204803198, "node_id": "MDExOlB1bGxSZXF1ZXN0MTA0Mjg4NDkw", "number": 11, "title": "Run faster, jump higher, teleport to coordinates (rather than XYZ position)", "user": {"value": 22650655, "label": "sbaum23"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 2, "created_at": "2017-02-02T07:42:55Z", "updated_at": "2017-02-03T20:59:39Z", "closed_at": "2017-02-03T20:59:39Z", "author_association": "CONTRIBUTOR", "active_lock_reason": null, "draft": 0, "pull_request": "ACEmulator/ACE/pulls/11", "body": "These values are hardcoded and need to be replaced with actual values from the Player object. This is mainly to let people run around faster in the emu until code it put in to send all player skills to client.\r\n\r\nI'm Xen on Discord.", "reactions": "{\"url\": \"https://api.github.com/repos/ACEmulator/ACE/issues/11/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "performed_via_github_app": null, "state_reason": null, "repo": {"value": 79078680, "label": "ACE"}, "type": "pull"} {"id": 205040357, "node_id": "MDU6SXNzdWUyMDUwNDAzNTc=", "number": 12, "title": "Converting ACE to run as a Windows service", "user": {"value": 25518589, "label": "mcreedjr"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 3, "created_at": "2017-02-03T00:36:14Z", "updated_at": "2017-12-04T14:28:36Z", "closed_at": "2017-12-04T14:28:36Z", "author_association": "CONTRIBUTOR", "active_lock_reason": null, "draft": null, "pull_request": null, "body": "Envisioning how this server will eventually be run and/or deployed, I suspect that most would like the opportunity to have the server run as a Windows service. This will allow automated starting of ACE at Windows startup. This will require a separate monitoring application to monitor any \"console\" output. I offer this only from a sysadmin point of view who has an aversion to having to interactively start applications which others use. I'm not sure what architectural changes will be required, but thought it would be worth mentioning early in the development process.", "reactions": "{\"url\": \"https://api.github.com/repos/ACEmulator/ACE/issues/12/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "performed_via_github_app": null, "state_reason": "completed", "repo": {"value": 79078680, "label": "ACE"}, "type": "issue"} {"id": 205077117, "node_id": "MDExOlB1bGxSZXF1ZXN0MTA0NDc4ODUx", "number": 13, "title": "database layer encapsulation and abstraction", "user": {"value": 25351661, "label": "Mogwai-TheFurry"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 1, "created_at": "2017-02-03T05:44:27Z", "updated_at": "2017-02-04T05:55:04Z", "closed_at": "2017-02-04T05:54:55Z", "author_association": "CONTRIBUTOR", "active_lock_reason": null, "draft": 0, "pull_request": "ACEmulator/ACE/pulls/13", "body": "Sorry about the solution file. I'm on VS 2015 pro and I've no idea why it changed. All I did was add the .gitignore as a solution item.\r\n\r\nUse Visual Studio to diff the files. Git isn't doing a good job with the compare. Mogwai in Discord.", "reactions": "{\"url\": \"https://api.github.com/repos/ACEmulator/ACE/issues/13/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "performed_via_github_app": null, "state_reason": null, "repo": {"value": 79078680, "label": "ACE"}, "type": "pull"} {"id": 205270553, "node_id": "MDExOlB1bGxSZXF1ZXN0MTA0NjEyNDcz", "number": 14, "title": "Added /teleto command", "user": {"value": 22650655, "label": "sbaum23"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 1, "created_at": "2017-02-03T21:12:15Z", "updated_at": "2017-02-05T02:21:27Z", "closed_at": "2017-02-05T02:21:27Z", "author_association": "CONTRIBUTOR", "active_lock_reason": null, "draft": 0, "pull_request": "ACEmulator/ACE/pulls/14", "body": "My commit has the wrong command in it. I added the /teleto command for teleporting using coordinates.", "reactions": "{\"url\": \"https://api.github.com/repos/ACEmulator/ACE/issues/14/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "performed_via_github_app": null, "state_reason": null, "repo": {"value": 79078680, "label": "ACE"}, "type": "pull"} {"id": 205301887, "node_id": "MDU6SXNzdWUyMDUzMDE4ODc=", "number": 15, "title": "Password storage should use PBKDF2", "user": {"value": 570040, "label": "zbuc"}, "state": "closed", "locked": 0, "assignee": {"value": 570040, "label": "zbuc"}, "milestone": null, "comments": 0, "created_at": "2017-02-03T23:56:22Z", "updated_at": "2017-10-24T22:59:59Z", "closed_at": "2017-10-24T22:59:59Z", "author_association": "CONTRIBUTOR", "active_lock_reason": null, "draft": null, "pull_request": null, "body": "Right now it's using salted SHA256, which works for now but isn't suitable for real password storage, taking into considerations things like password reuse across services and the fact that inexperienced server admins will likely be operating poorly configured ACEmulator servers.\r\n\r\nTo minimize the damage of leaking any password hashes from the DB, the supported standard for password storage on .NET is PBKDF2.\r\n\r\nI am already working on converting password storage to use PBKDF2 on my branch.\r\n\r\nhttps://dusted.codes/sha-256-is-not-a-secure-password-hashing-algorithm", "reactions": "{\"url\": \"https://api.github.com/repos/ACEmulator/ACE/issues/15/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "performed_via_github_app": null, "state_reason": "completed", "repo": {"value": 79078680, "label": "ACE"}, "type": "issue"} {"id": 205326043, "node_id": "MDExOlB1bGxSZXF1ZXN0MTA0NjUwNTg2", "number": 16, "title": "database abstraction and encapsulation. created character model and skill attribute models.", "user": {"value": 25351661, "label": "Mogwai-TheFurry"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 0, "created_at": "2017-02-04T05:57:10Z", "updated_at": "2017-02-04T06:42:11Z", "closed_at": "2017-02-04T06:42:11Z", "author_association": "CONTRIBUTOR", "active_lock_reason": null, "draft": 0, "pull_request": "ACEmulator/ACE/pulls/16", "body": "", "reactions": "{\"url\": \"https://api.github.com/repos/ACEmulator/ACE/issues/16/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "performed_via_github_app": null, "state_reason": null, "repo": {"value": 79078680, "label": "ACE"}, "type": "pull"} {"id": 205328952, "node_id": "MDExOlB1bGxSZXF1ZXN0MTA0NjUxOTE3", "number": 17, "title": "database encapsulation is done! yay!", "user": {"value": 25351661, "label": "Mogwai-TheFurry"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 0, "created_at": "2017-02-04T06:55:34Z", "updated_at": "2017-05-30T15:34:08Z", "closed_at": "2017-02-04T07:13:27Z", "author_association": "CONTRIBUTOR", "active_lock_reason": null, "draft": 0, "pull_request": "ACEmulator/ACE/pulls/17", "body": "", "reactions": "{\"url\": \"https://api.github.com/repos/ACEmulator/ACE/issues/17/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "performed_via_github_app": null, "state_reason": null, "repo": {"value": 79078680, "label": "ACE"}, "type": "pull"} {"id": 205330194, "node_id": "MDExOlB1bGxSZXF1ZXN0MTA0NjUyNjE0", "number": 18, "title": "Option to Enable Automatic Account Creation", "user": {"value": 11369233, "label": "LtRipley36706"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 2, "created_at": "2017-02-04T07:23:37Z", "updated_at": "2017-03-20T02:59:13Z", "closed_at": "2017-02-04T22:14:16Z", "author_association": "MEMBER", "active_lock_reason": null, "draft": 0, "pull_request": "ACEmulator/ACE/pulls/18", "body": "Added a configurable variable to Config.json for allowing the server to create an account for the client when one does not exist on the server.", "reactions": "{\"url\": \"https://api.github.com/repos/ACEmulator/ACE/issues/18/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "performed_via_github_app": null, "state_reason": null, "repo": {"value": 79078680, "label": "ACE"}, "type": "pull"} {"id": 205346915, "node_id": "MDU6SXNzdWUyMDUzNDY5MTU=", "number": 19, "title": "Support logging off to the character selection screen. ", "user": {"value": 25125434, "label": "TigrisOfGaul"}, "state": "closed", "locked": 0, "assignee": {"value": 10608427, "label": "Mag-nus"}, "milestone": null, "comments": 1, "created_at": "2017-02-04T13:07:05Z", "updated_at": "2017-06-22T07:59:06Z", "closed_at": "2017-06-22T07:59:06Z", "author_association": "CONTRIBUTOR", "active_lock_reason": null, "draft": null, "pull_request": null, "body": "Currently the only way to log into the world with a different character is to restart the client. ", "reactions": "{\"url\": \"https://api.github.com/repos/ACEmulator/ACE/issues/19/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "performed_via_github_app": null, "state_reason": "completed", "repo": {"value": 79078680, "label": "ACE"}, "type": "issue"} {"id": 205353528, "node_id": "MDU6SXNzdWUyMDUzNTM1Mjg=", "number": 20, "title": "Server should have a way to apply DB migrations", "user": {"value": 570040, "label": "zbuc"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 7, "created_at": "2017-02-04T15:19:26Z", "updated_at": "2017-12-04T14:30:37Z", "closed_at": "2017-12-04T14:30:36Z", "author_association": "CONTRIBUTOR", "active_lock_reason": null, "draft": null, "pull_request": null, "body": "The server should have a way to track which DB migrations it has applied, and automatically apply missing ones in the correct order.\r\n\r\n@Mag-nus suggested a naming convention of `YYYY_MM_DD_tablename.sql`. This would work, but would make dealing with pull requests and merges annoying, if multiple came in one day.\r\n\r\nI would suggest a naming scheme more along the lines of `$patchNumber + '_' + $YYYY_MM_DD + '_' + $descriptiveFeatureName`, for example `01_2017_02_03_add_monster_information.sql` and not limiting them to any particular tables.\r\n\r\nPicking the second naming system will make dealing with pull requests easier and help developers understand what updates are for. Additionally, the leading number provides a good way of tracking our schema revision.", "reactions": "{\"url\": \"https://api.github.com/repos/ACEmulator/ACE/issues/20/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "performed_via_github_app": null, "state_reason": "completed", "repo": {"value": 79078680, "label": "ACE"}, "type": "issue"} {"id": 205361124, "node_id": "MDExOlB1bGxSZXF1ZXN0MTA0NjY4MTI0", "number": 21, "title": "Change password hashing to use scrypt", "user": {"value": 570040, "label": "zbuc"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 4, "created_at": "2017-02-04T17:28:50Z", "updated_at": "2017-03-20T02:20:14Z", "closed_at": "2017-03-20T02:20:14Z", "author_association": "CONTRIBUTOR", "active_lock_reason": null, "draft": 0, "pull_request": "ACEmulator/ACE/pulls/21", "body": "I switched the password hashing over to use libsodium's scrypt\r\nimplementation. This involved adding a new migration.\r\n\r\nI noticed that currently the password isn't checked. I started looking\r\ninto how to implement password checking and it looks like we will\r\nprobably need to have a launcher to do so.\r\n\r\nThe reason the commit touches so many files is because it also cleans up\r\nthe files with mixed line endings.", "reactions": "{\"url\": \"https://api.github.com/repos/ACEmulator/ACE/issues/21/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "performed_via_github_app": null, "state_reason": null, "repo": {"value": 79078680, "label": "ACE"}, "type": "pull"} {"id": 205362379, "node_id": "MDExOlB1bGxSZXF1ZXN0MTA0NjY4ODA4", "number": 22, "title": "Teleloc loader fix and basic set of locations", "user": {"value": 10677293, "label": "ChrisAikman"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 0, "created_at": "2017-02-04T17:48:51Z", "updated_at": "2017-02-04T22:11:12Z", "closed_at": "2017-02-04T22:11:12Z", "author_association": "CONTRIBUTOR", "active_lock_reason": null, "draft": 0, "pull_request": "ACEmulator/ACE/pulls/22", "body": "Fixed an index bug in `WorldDatabase.GetLocations` and added a basic set of telelocations to the `teleport_location` table for use with `teleloc`. Updated the `teleloc` command to accept multiple name locations, such as `Ayan Baqur`.", "reactions": "{\"url\": \"https://api.github.com/repos/ACEmulator/ACE/issues/22/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "performed_via_github_app": null, "state_reason": null, "repo": {"value": 79078680, "label": "ACE"}, "type": "pull"} {"id": 205377812, "node_id": "MDExOlB1bGxSZXF1ZXN0MTA0Njc1ODg4", "number": 23, "title": "Add Config.json to .gitignore", "user": {"value": 570040, "label": "zbuc"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 1, "created_at": "2017-02-04T21:12:57Z", "updated_at": "2017-02-04T22:53:44Z", "closed_at": "2017-02-04T22:53:44Z", "author_association": "CONTRIBUTOR", "active_lock_reason": null, "draft": 0, "pull_request": "ACEmulator/ACE/pulls/23", "body": "This also forces first-time configuration.\r\n\r\nExisting Config.json copied to Config.json.example\r\n\r\nREADME.md has been updated with instructions.", "reactions": "{\"url\": \"https://api.github.com/repos/ACEmulator/ACE/issues/23/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "performed_via_github_app": null, "state_reason": null, "repo": {"value": 79078680, "label": "ACE"}, "type": "pull"} {"id": 205379026, "node_id": "MDExOlB1bGxSZXF1ZXN0MTA0Njc2NTYy", "number": 24, "title": "Fixed bug in CharacterCreate.", "user": {"value": 11369233, "label": "LtRipley36706"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 0, "created_at": "2017-02-04T21:32:30Z", "updated_at": "2017-02-17T06:50:27Z", "closed_at": "2017-02-04T22:54:04Z", "author_association": "MEMBER", "active_lock_reason": null, "draft": 0, "pull_request": "ACEmulator/ACE/pulls/24", "body": " It was not changing the AccountId in the database when saving leading to empty character list.", "reactions": "{\"url\": \"https://api.github.com/repos/ACEmulator/ACE/issues/24/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "performed_via_github_app": null, "state_reason": null, "repo": {"value": 79078680, "label": "ACE"}, "type": "pull"} {"id": 205381602, "node_id": "MDExOlB1bGxSZXF1ZXN0MTA0Njc3ODA5", "number": 25, "title": "Option to Enable Automatic Account Creation", "user": {"value": 11369233, "label": "LtRipley36706"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 1, "created_at": "2017-02-04T22:11:38Z", "updated_at": "2017-03-20T02:59:21Z", "closed_at": "2017-02-05T08:52:58Z", "author_association": "MEMBER", "active_lock_reason": null, "draft": 0, "pull_request": "ACEmulator/ACE/pulls/25", "body": "Added a configurable variable to Config.json for allowing the server to create an account for the client when one does not exist on the server.", "reactions": "{\"url\": \"https://api.github.com/repos/ACEmulator/ACE/issues/25/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "performed_via_github_app": null, "state_reason": null, "repo": {"value": 79078680, "label": "ACE"}, "type": "pull"} {"id": 205381707, "node_id": "MDExOlB1bGxSZXF1ZXN0MTA0Njc3ODY1", "number": 26, "title": "Fixing up Character Delete and Restore functions", "user": {"value": 11369233, "label": "LtRipley36706"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 1, "created_at": "2017-02-04T22:13:24Z", "updated_at": "2017-03-10T04:56:27Z", "closed_at": "2017-02-05T09:03:41Z", "author_association": "MEMBER", "active_lock_reason": null, "draft": 0, "pull_request": "ACEmulator/ACE/pulls/26", "body": "In looking at the character deletion and restore section it made sense to me that name in character database shouldn't be made a unique value\r\nAt present in master, even if that character was marked as deleted, the character name is held.\r\n\r\nI've made changes to the code and database to better emulate how it worked before with respect to deletions and restores.\r\n\r\nAs is, no character is ever marked deleted so that is yet to be implemented, although I suspect that would be a server side SQL script or command within ACE running at an interval/manually via console as determined by a configuration variable(s) possibly in config.json for how often it checks, how long the restore window is and if to mark characters deleted or not which would remove them from restoration via client.\r\n\r\nGoing further than original design, perhaps it could be changed to hold the character name for that account only while the restoration window is active, as well as only allowing that account to create a brand new character with that deleted name.", "reactions": "{\"url\": \"https://api.github.com/repos/ACEmulator/ACE/issues/26/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "performed_via_github_app": null, "state_reason": null, "repo": {"value": 79078680, "label": "ACE"}, "type": "pull"} {"id": 205383343, "node_id": "MDExOlB1bGxSZXF1ZXN0MTA0Njc4NjAw", "number": 27, "title": "Corrected spelling in a few places.", "user": {"value": 11369233, "label": "LtRipley36706"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 0, "created_at": "2017-02-04T22:36:04Z", "updated_at": "2017-02-05T03:35:03Z", "closed_at": "2017-02-05T03:35:03Z", "author_association": "MEMBER", "active_lock_reason": null, "draft": 0, "pull_request": "ACEmulator/ACE/pulls/27", "body": "", "reactions": "{\"url\": \"https://api.github.com/repos/ACEmulator/ACE/issues/27/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "performed_via_github_app": null, "state_reason": null, "repo": {"value": 79078680, "label": "ACE"}, "type": "pull"} {"id": 205389442, "node_id": "MDU6SXNzdWUyMDUzODk0NDI=", "number": 28, "title": "Change way mysql databases are accessed", "user": {"value": 11369233, "label": "LtRipley36706"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 1, "created_at": "2017-02-05T00:29:45Z", "updated_at": "2017-02-05T04:28:54Z", "closed_at": "2017-02-05T04:28:54Z", "author_association": "MEMBER", "active_lock_reason": null, "draft": null, "pull_request": null, "body": "Should we be \"internalizing\" the connections to the mysql servers? Even with strong username/passwords is there as technical reason why we need to expose the sql server externally to the internet?", "reactions": "{\"url\": \"https://api.github.com/repos/ACEmulator/ACE/issues/28/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "performed_via_github_app": null, "state_reason": "completed", "repo": {"value": 79078680, "label": "ACE"}, "type": "issue"} {"id": 205394658, "node_id": "MDExOlB1bGxSZXF1ZXN0MTA0Njg0NDkw", "number": 29, "title": "Teleto command redo", "user": {"value": 22650655, "label": "sbaum23"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 1, "created_at": "2017-02-05T02:20:42Z", "updated_at": "2017-02-05T06:01:09Z", "closed_at": "2017-02-05T06:01:09Z", "author_association": "CONTRIBUTOR", "active_lock_reason": null, "draft": 0, "pull_request": "ACEmulator/ACE/pulls/29", "body": "Fixed coding convention issues with my previous commit.", "reactions": "{\"url\": \"https://api.github.com/repos/ACEmulator/ACE/issues/29/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "performed_via_github_app": null, "state_reason": null, "repo": {"value": 79078680, "label": "ACE"}, "type": "pull"} {"id": 205398529, "node_id": "MDExOlB1bGxSZXF1ZXN0MTA0Njg2Mzk3", "number": 30, "title": "Fix for NAT issues on internal connections to WorldServer", "user": {"value": 11369233, "label": "LtRipley36706"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 1, "created_at": "2017-02-05T03:53:57Z", "updated_at": "2017-03-10T04:56:23Z", "closed_at": "2017-02-05T05:37:01Z", "author_association": "MEMBER", "active_lock_reason": null, "draft": 0, "pull_request": "ACEmulator/ACE/pulls/30", "body": "This should help alleviate the issue some people will see when configuring all IPs to external, but connecting to the server on internal IPs.", "reactions": "{\"url\": \"https://api.github.com/repos/ACEmulator/ACE/issues/30/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "performed_via_github_app": null, "state_reason": null, "repo": {"value": 79078680, "label": "ACE"}, "type": "pull"} {"id": 205400067, "node_id": "MDU6SXNzdWUyMDU0MDAwNjc=", "number": 31, "title": "Logs should go to separate window, and filesystem", "user": {"value": 570040, "label": "zbuc"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 4, "created_at": "2017-02-05T04:33:21Z", "updated_at": "2017-05-01T15:13:20Z", "closed_at": "2017-05-01T15:13:20Z", "author_association": "CONTRIBUTOR", "active_lock_reason": null, "draft": null, "pull_request": null, "body": "Logs should go in a separate window from the main `ACE >>` command prompt so admins aren't frustrated with information stomping commands as they're being typed.\r\n\r\nMight as well add a `Config.json` option to log them to the filesystem and set verbosity at the same time.", "reactions": "{\"url\": \"https://api.github.com/repos/ACEmulator/ACE/issues/31/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "performed_via_github_app": null, "state_reason": "completed", "repo": {"value": 79078680, "label": "ACE"}, "type": "issue"} {"id": 205403112, "node_id": "MDExOlB1bGxSZXF1ZXN0MTA0Njg4NzM0", "number": 32, "title": "Fix for NAT issues on internal connections to WorldServer", "user": {"value": 11369233, "label": "LtRipley36706"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 1, "created_at": "2017-02-05T05:42:01Z", "updated_at": "2017-03-10T04:56:20Z", "closed_at": "2017-02-05T21:05:00Z", "author_association": "MEMBER", "active_lock_reason": null, "draft": 0, "pull_request": "ACEmulator/ACE/pulls/32", "body": "This fix is meant help alleviate a NAT issue some people will see when configuring server IP to external address. \r\n\r\nDue to problematic NAT routing, connecting to external IP while on internal network leads to black screen on hand-off to world server. Others may not even be able to connect to server using external IP address.\r\n\r\nThis fix should allow for external IP connection for those outside of network, and internal IP connection for those inside the network.", "reactions": "{\"url\": \"https://api.github.com/repos/ACEmulator/ACE/issues/32/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "performed_via_github_app": null, "state_reason": null, "repo": {"value": 79078680, "label": "ACE"}, "type": "pull"} {"id": 205404593, "node_id": "MDExOlB1bGxSZXF1ZXN0MTA0Njg5NDQ3", "number": 33, "title": "Added /teleto command", "user": {"value": 22650655, "label": "sbaum23"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 0, "created_at": "2017-02-05T06:16:08Z", "updated_at": "2017-02-06T12:17:24Z", "closed_at": "2017-02-06T12:17:24Z", "author_association": "CONTRIBUTOR", "active_lock_reason": null, "draft": 0, "pull_request": "ACEmulator/ACE/pulls/33", "body": "Z position needs to be calculated from a file but since that isn't in the code yet, I'm defaulting it to 200. For some places that is not high enough and you'll be in darkness, but at least this allows you to teleport using coordinates.", "reactions": "{\"url\": \"https://api.github.com/repos/ACEmulator/ACE/issues/33/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "performed_via_github_app": null, "state_reason": null, "repo": {"value": 79078680, "label": "ACE"}, "type": "pull"} {"id": 205411721, "node_id": "MDExOlB1bGxSZXF1ZXN0MTA0NjkyODU2", "number": 34, "title": "Option to Enable Automatic Account Creation", "user": {"value": 11369233, "label": "LtRipley36706"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 0, "created_at": "2017-02-05T08:52:31Z", "updated_at": "2017-03-20T02:59:43Z", "closed_at": "2017-02-07T17:42:22Z", "author_association": "MEMBER", "active_lock_reason": null, "draft": 0, "pull_request": "ACEmulator/ACE/pulls/34", "body": "Added a configurable variable to Config.json.example for allowing the server to create an account for the client when one does not already exist on the server.", "reactions": "{\"url\": \"https://api.github.com/repos/ACEmulator/ACE/issues/34/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "performed_via_github_app": null, "state_reason": null, "repo": {"value": 79078680, "label": "ACE"}, "type": "pull"} {"id": 205412246, "node_id": "MDExOlB1bGxSZXF1ZXN0MTA0NjkzMTA4", "number": 35, "title": "Fixing up Character Delete and Restore functions", "user": {"value": 11369233, "label": "LtRipley36706"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 1, "created_at": "2017-02-05T09:03:13Z", "updated_at": "2017-03-10T04:56:13Z", "closed_at": "2017-02-11T05:46:23Z", "author_association": "MEMBER", "active_lock_reason": null, "draft": 0, "pull_request": "ACEmulator/ACE/pulls/35", "body": "In looking at the character deletion and restore section it made sense to me that name in character database shouldn't be made a unique value\r\nAt present in master, even if that character was marked as deleted, the character name is held.\r\n\r\nI've made changes to the code and database to better emulate how it worked before with respect to deletions and restores.\r\n\r\nAs is, no character is ever marked deleted so that is yet to be implemented, although I suspect that would be a server side SQL script or command within ACE running at an interval/manually via console as determined by a configuration variable(s) possibly in config.json.example for how often it checks, how long the restore window is and if to mark characters deleted or not which would remove them from restoration via client.\r\n\r\nGoing further than original design, perhaps it could be changed to hold the character name for that account only while the restoration window is active, as well as only allowing that account to create a brand new character with that deleted name.", "reactions": "{\"url\": \"https://api.github.com/repos/ACEmulator/ACE/issues/35/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "performed_via_github_app": null, "state_reason": null, "repo": {"value": 79078680, "label": "ACE"}, "type": "pull"} {"id": 205449659, "node_id": "MDExOlB1bGxSZXF1ZXN0MTA0NzEyNjY4", "number": 36, "title": "Add automatic database migrations to startup", "user": {"value": 570040, "label": "zbuc"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 6, "created_at": "2017-02-05T20:02:19Z", "updated_at": "2017-04-06T12:11:16Z", "closed_at": "2017-04-06T12:11:16Z", "author_association": "CONTRIBUTOR", "active_lock_reason": null, "draft": 0, "pull_request": "ACEmulator/ACE/pulls/36", "body": "Database migrations will automatically be run.\r\nName them according to the format (`#_YYYY-MM-DD-descriptive_name.sql`)\r\nand put in the appropriate directory and it will run on the next server\r\nstartup.\r\n\r\nMigrations are only run once, in ascending numeric order. The current\r\ndatabase state is tracked in a new database called `Global`.\r\n\r\nThis simplifies server setup: now the only step is to create the four\r\ndatabases. The base SQL and migrations will be run automatically from\r\nthat point on.\r\n\r\nThis also simplifies migrations, which will no longer need to\r\nincorporate complex conditional logic in order to be repeatable.", "reactions": "{\"url\": \"https://api.github.com/repos/ACEmulator/ACE/issues/36/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "performed_via_github_app": null, "state_reason": null, "repo": {"value": 79078680, "label": "ACE"}, "type": "pull"} {"id": 205454231, "node_id": "MDExOlB1bGxSZXF1ZXN0MTA0NzE1MzE1", "number": 37, "title": "Add option to send different host address than external host address during world handoff", "user": {"value": 11369233, "label": "LtRipley36706"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 2, "created_at": "2017-02-05T21:04:40Z", "updated_at": "2017-03-10T04:56:11Z", "closed_at": "2017-03-01T05:51:04Z", "author_association": "MEMBER", "active_lock_reason": null, "draft": 0, "pull_request": "ACEmulator/ACE/pulls/37", "body": "The purpose of this code is to allow a server operator to configure their external IP for clients connecting from the internet as well as allowing clients connecting on the intranet to use the local network IP address of the server instead.\r\n\r\nThe options are configurable via config.json and set to false by default.", "reactions": "{\"url\": \"https://api.github.com/repos/ACEmulator/ACE/issues/37/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "performed_via_github_app": null, "state_reason": null, "repo": {"value": 79078680, "label": "ACE"}, "type": "pull"} {"id": 205468852, "node_id": "MDExOlB1bGxSZXF1ZXN0MTA0NzIzODky", "number": 38, "title": "Fix for server crash when account does not exist for connecting client", "user": {"value": 11369233, "label": "LtRipley36706"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 0, "created_at": "2017-02-06T01:04:32Z", "updated_at": "2017-02-07T16:49:41Z", "closed_at": "2017-02-07T16:49:41Z", "author_association": "MEMBER", "active_lock_reason": null, "draft": 0, "pull_request": "ACEmulator/ACE/pulls/38", "body": "Please use this PR if rejecting PR #34. this contains the fix to the server crash when an account is not created and a client tried to connect to the server using the invalid account.\r\n\r\nthis fix is already in PR #34 so if that one is accepted, reject this one.", "reactions": "{\"url\": \"https://api.github.com/repos/ACEmulator/ACE/issues/38/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "performed_via_github_app": null, "state_reason": null, "repo": {"value": 79078680, "label": "ACE"}, "type": "pull"} {"id": 205511107, "node_id": "MDU6SXNzdWUyMDU1MTExMDc=", "number": 39, "title": "Friends list functionality", "user": {"value": 22650655, "label": "sbaum23"}, "state": "closed", "locked": 0, "assignee": {"value": 22650655, "label": "sbaum23"}, "milestone": null, "comments": 0, "created_at": "2017-02-06T08:04:22Z", "updated_at": "2017-02-18T04:46:34Z", "closed_at": "2017-02-18T04:46:34Z", "author_association": "CONTRIBUTOR", "active_lock_reason": null, "draft": null, "pull_request": null, "body": "+ Persist/read friends from db table\r\n+ Send full friends list on login\r\n+ Respond to Add friend client message\r\n+ Respond to Remove friend client message\r\n\r\nLikely not able to add yet until multiplayer support added:\r\n+ When player logs on or off, send friend status update to their friends.", "reactions": "{\"url\": \"https://api.github.com/repos/ACEmulator/ACE/issues/39/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "performed_via_github_app": null, "state_reason": "completed", "repo": {"value": 79078680, "label": "ACE"}, "type": "issue"} {"id": 205511450, "node_id": "MDExOlB1bGxSZXF1ZXN0MTA0NzUxMzMx", "number": 40, "title": "Adding in support for teleportation via clicking on the map panel.", "user": {"value": 11369233, "label": "LtRipley36706"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 0, "created_at": "2017-02-06T08:06:40Z", "updated_at": "2017-02-06T12:12:46Z", "closed_at": "2017-02-06T12:12:46Z", "author_association": "MEMBER", "active_lock_reason": null, "draft": 0, "pull_request": "ACEmulator/ACE/pulls/40", "body": "Go places faster!", "reactions": "{\"url\": \"https://api.github.com/repos/ACEmulator/ACE/issues/40/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "performed_via_github_app": null, "state_reason": null, "repo": {"value": 79078680, "label": "ACE"}, "type": "pull"} {"id": 205579650, "node_id": "MDU6SXNzdWUyMDU1Nzk2NTA=", "number": 41, "title": "Basic Player Item Functionality", "user": {"value": 6111341, "label": "Rawaho"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 1, "created_at": "2017-02-06T13:12:45Z", "updated_at": "2017-12-04T14:29:14Z", "closed_at": "2017-12-04T14:29:14Z", "author_association": "CONTRIBUTOR", "active_lock_reason": null, "draft": null, "pull_request": null, "body": "", "reactions": "{\"url\": \"https://api.github.com/repos/ACEmulator/ACE/issues/41/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "performed_via_github_app": null, "state_reason": "completed", "repo": {"value": 79078680, "label": "ACE"}, "type": "issue"} {"id": 205637204, "node_id": "MDU6SXNzdWUyMDU2MzcyMDQ=", "number": 42, "title": "Subscription data model concept + GLS replacement", "user": {"value": 25351661, "label": "Mogwai-TheFurry"}, "state": "closed", "locked": 0, "assignee": {"value": 25351661, "label": "Mogwai-TheFurry"}, "milestone": null, "comments": 1, "created_at": "2017-02-06T16:28:44Z", "updated_at": "2017-10-24T22:59:32Z", "closed_at": "2017-10-24T22:59:32Z", "author_association": "CONTRIBUTOR", "active_lock_reason": null, "draft": null, "pull_request": null, "body": "Login == account\r\nretail \"AC account\" == subscription (under the hood, as Turbine did it)\r\nsubscription == a set of characters on worlds\r\n\r\nOld/retail paradigm: 1 login for every subscription\r\nNew paradigm: 1 master login, select a subscription\r\n\r\nThis will entail building a set of REST services and a new launcher with Thwargle.", "reactions": "{\"url\": \"https://api.github.com/repos/ACEmulator/ACE/issues/42/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "performed_via_github_app": null, "state_reason": "completed", "repo": {"value": 79078680, "label": "ACE"}, "type": "issue"} {"id": 205645250, "node_id": "MDU6SXNzdWUyMDU2NDUyNTA=", "number": 43, "title": "Move Database Access and object models to a separate C# project", "user": {"value": 25351661, "label": "Mogwai-TheFurry"}, "state": "closed", "locked": 0, "assignee": {"value": 25351661, "label": "Mogwai-TheFurry"}, "milestone": null, "comments": 2, "created_at": "2017-02-06T16:55:25Z", "updated_at": "2017-02-16T03:26:54Z", "closed_at": "2017-02-16T03:26:54Z", "author_association": "CONTRIBUTOR", "active_lock_reason": null, "draft": null, "pull_request": null, "body": "for reuse in other components such as:\r\n* Item Editor\r\n* Vendor Editor\r\n* GLS replacment\r\n* other Server Admin tools", "reactions": "{\"url\": \"https://api.github.com/repos/ACEmulator/ACE/issues/43/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "performed_via_github_app": null, "state_reason": "completed", "repo": {"value": 79078680, "label": "ACE"}, "type": "issue"} {"id": 205646390, "node_id": "MDU6SXNzdWUyMDU2NDYzOTA=", "number": 44, "title": "Add column to authenticationDB.account for access rights", "user": {"value": 11369233, "label": "LtRipley36706"}, "state": "closed", "locked": 0, "assignee": {"value": 11369233, "label": "LtRipley36706"}, "milestone": null, "comments": 3, "created_at": "2017-02-06T16:59:10Z", "updated_at": "2017-02-20T05:10:32Z", "closed_at": "2017-02-20T05:10:32Z", "author_association": "MEMBER", "active_lock_reason": null, "draft": null, "pull_request": null, "body": "Need to add a column for access rights so to allow accounts to be able to create characters with IsAdmin or IsEnvoy bools set.", "reactions": "{\"url\": \"https://api.github.com/repos/ACEmulator/ACE/issues/44/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "performed_via_github_app": null, "state_reason": "completed", "repo": {"value": 79078680, "label": "ACE"}, "type": "issue"} {"id": 205647107, "node_id": "MDU6SXNzdWUyMDU2NDcxMDc=", "number": 45, "title": "Stub CommandHandlers for in-game commands", "user": {"value": 11369233, "label": "LtRipley36706"}, "state": "closed", "locked": 0, "assignee": {"value": 11369233, "label": "LtRipley36706"}, "milestone": null, "comments": 1, "created_at": "2017-02-06T17:01:31Z", "updated_at": "2017-04-23T18:14:09Z", "closed_at": "2017-04-23T18:14:09Z", "author_association": "MEMBER", "active_lock_reason": null, "draft": null, "pull_request": null, "body": "Create stubs for each @ command in-game with expected usage and output comments.\r\n\r\nThis should help prevent commands not working the way they did originally", "reactions": "{\"url\": \"https://api.github.com/repos/ACEmulator/ACE/issues/45/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "performed_via_github_app": null, "state_reason": "completed", "repo": {"value": 79078680, "label": "ACE"}, "type": "issue"} {"id": 205742481, "node_id": "MDExOlB1bGxSZXF1ZXN0MTA0OTA3NjM3", "number": 46, "title": "Update create_mysql.sql", "user": {"value": 25277356, "label": "KochiroOfHG"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 0, "created_at": "2017-02-06T23:46:04Z", "updated_at": "2017-02-12T11:36:42Z", "closed_at": "2017-02-12T11:36:42Z", "author_association": "CONTRIBUTOR", "active_lock_reason": null, "draft": 0, "pull_request": "ACEmulator/ACE/pulls/46", "body": "Added \"IF NOT EXISTS\" to the create statements so that if the database already exists then a warning will be thrown instead of an error.", "reactions": "{\"url\": \"https://api.github.com/repos/ACEmulator/ACE/issues/46/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "performed_via_github_app": null, "state_reason": null, "repo": {"value": 79078680, "label": "ACE"}, "type": "pull"} {"id": 205792049, "node_id": "MDExOlB1bGxSZXF1ZXN0MTA0OTQwNjI2", "number": 47, "title": "Load saved characters", "user": {"value": 25351661, "label": "Mogwai-TheFurry"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 1, "created_at": "2017-02-07T05:43:40Z", "updated_at": "2017-05-30T15:34:10Z", "closed_at": "2017-02-07T16:49:01Z", "author_association": "CONTRIBUTOR", "active_lock_reason": null, "draft": 0, "pull_request": "ACEmulator/ACE/pulls/47", "body": "", "reactions": "{\"url\": \"https://api.github.com/repos/ACEmulator/ACE/issues/47/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "performed_via_github_app": null, "state_reason": null, "repo": {"value": 79078680, "label": "ACE"}, "type": "pull"} {"id": 205882576, "node_id": "MDU6SXNzdWUyMDU4ODI1NzY=", "number": 48, "title": "Add all other properties to Character persistence model", "user": {"value": 25351661, "label": "Mogwai-TheFurry"}, "state": "closed", "locked": 0, "assignee": {"value": 25351661, "label": "Mogwai-TheFurry"}, "milestone": null, "comments": 1, "created_at": "2017-02-07T13:09:34Z", "updated_at": "2017-02-10T19:06:40Z", "closed_at": "2017-02-10T19:06:40Z", "author_association": "CONTRIBUTOR", "active_lock_reason": null, "draft": null, "pull_request": null, "body": "All the other things that go in the property buckets. Read from client on char create (or not, as the augments should all be unset), save to the DB, and load them up on login.", "reactions": "{\"url\": \"https://api.github.com/repos/ACEmulator/ACE/issues/48/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "performed_via_github_app": null, "state_reason": "completed", "repo": {"value": 79078680, "label": "ACE"}, "type": "issue"} {"id": 205882786, "node_id": "MDU6SXNzdWUyMDU4ODI3ODY=", "number": 49, "title": "XP expenditure on skills/stats", "user": {"value": 25351661, "label": "Mogwai-TheFurry"}, "state": "closed", "locked": 0, "assignee": {"value": 25351661, "label": "Mogwai-TheFurry"}, "milestone": null, "comments": 1, "created_at": "2017-02-07T13:10:24Z", "updated_at": "2017-02-10T19:06:01Z", "closed_at": "2017-02-10T19:06:01Z", "author_association": "CONTRIBUTOR", "active_lock_reason": null, "draft": null, "pull_request": null, "body": "Spend unused xp on skills/stats, save to database.", "reactions": "{\"url\": \"https://api.github.com/repos/ACEmulator/ACE/issues/49/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "performed_via_github_app": null, "state_reason": "completed", "repo": {"value": 79078680, "label": "ACE"}, "type": "issue"} {"id": 206401863, "node_id": "MDExOlB1bGxSZXF1ZXN0MTA1MzU4NDQ2", "number": 50, "title": "Spending XP in Abilities, Vitals, and Skills, Saving Property buckets\u2026", "user": {"value": 25351661, "label": "Mogwai-TheFurry"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 0, "created_at": "2017-02-09T04:35:43Z", "updated_at": "2017-05-30T15:34:11Z", "closed_at": "2017-02-10T18:44:23Z", "author_association": "CONTRIBUTOR", "active_lock_reason": null, "draft": 0, "pull_request": "ACEmulator/ACE/pulls/50", "body": "\u2026. /grantxp command, moved persistence out of Player object for later refactoring of entity and data access project.", "reactions": "{\"url\": \"https://api.github.com/repos/ACEmulator/ACE/issues/50/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "performed_via_github_app": null, "state_reason": null, "repo": {"value": 79078680, "label": "ACE"}, "type": "pull"} {"id": 206403228, "node_id": "MDU6SXNzdWUyMDY0MDMyMjg=", "number": 51, "title": "Saving a Character to the DB", "user": {"value": 25351661, "label": "Mogwai-TheFurry"}, "state": "closed", "locked": 0, "assignee": {"value": 25351661, "label": "Mogwai-TheFurry"}, "milestone": null, "comments": 5, "created_at": "2017-02-09T04:47:27Z", "updated_at": "2017-03-20T02:53:25Z", "closed_at": "2017-03-20T02:53:25Z", "author_association": "CONTRIBUTOR", "active_lock_reason": null, "draft": null, "pull_request": null, "body": "intermittently? on logout? by command? something", "reactions": "{\"url\": \"https://api.github.com/repos/ACEmulator/ACE/issues/51/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "performed_via_github_app": null, "state_reason": "completed", "repo": {"value": 79078680, "label": "ACE"}, "type": "issue"} {"id": 206403292, "node_id": "MDU6SXNzdWUyMDY0MDMyOTI=", "number": 52, "title": "Leveling up when granted xp", "user": {"value": 25351661, "label": "Mogwai-TheFurry"}, "state": "closed", "locked": 0, "assignee": {"value": 25351661, "label": "Mogwai-TheFurry"}, "milestone": null, "comments": 2, "created_at": "2017-02-09T04:47:53Z", "updated_at": "2017-03-20T02:54:03Z", "closed_at": "2017-03-20T02:54:03Z", "author_association": "CONTRIBUTOR", "active_lock_reason": null, "draft": null, "pull_request": null, "body": "", "reactions": "{\"url\": \"https://api.github.com/repos/ACEmulator/ACE/issues/52/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "performed_via_github_app": null, "state_reason": "completed", "repo": {"value": 79078680, "label": "ACE"}, "type": "issue"} {"id": 206403348, "node_id": "MDU6SXNzdWUyMDY0MDMzNDg=", "number": 53, "title": "Skill Credits: saving, loading, spending", "user": {"value": 25351661, "label": "Mogwai-TheFurry"}, "state": "closed", "locked": 0, "assignee": {"value": 25351661, "label": "Mogwai-TheFurry"}, "milestone": null, "comments": 2, "created_at": "2017-02-09T04:48:15Z", "updated_at": "2017-03-20T14:32:29Z", "closed_at": "2017-03-20T14:31:26Z", "author_association": "CONTRIBUTOR", "active_lock_reason": null, "draft": null, "pull_request": null, "body": "", "reactions": "{\"url\": \"https://api.github.com/repos/ACEmulator/ACE/issues/53/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "performed_via_github_app": null, "state_reason": "completed", "repo": {"value": 79078680, "label": "ACE"}, "type": "issue"} {"id": 206407101, "node_id": "MDExOlB1bGxSZXF1ZXN0MTA1MzYxMzA3", "number": 54, "title": "Added friends list functionality.", "user": {"value": 22650655, "label": "sbaum23"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 1, "created_at": "2017-02-09T05:14:37Z", "updated_at": "2017-02-17T08:00:32Z", "closed_at": "2017-02-17T08:00:32Z", "author_association": "CONTRIBUTOR", "active_lock_reason": null, "draft": 0, "pull_request": "ACEmulator/ACE/pulls/54", "body": "Friends load from database on login and add/removing friends also saves to the db. When a friend logs on, the player should see the status change to online but it's hard to test that completely right now. Changing the status to offline when a friend logs off is not yet implemented.\r\n\r\nI had to implement a couple methods in WorldManager to be able to query for connected clients.\r\n", "reactions": "{\"url\": \"https://api.github.com/repos/ACEmulator/ACE/issues/54/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "performed_via_github_app": null, "state_reason": null, "repo": {"value": 79078680, "label": "ACE"}, "type": "pull"} {"id": 206410568, "node_id": "MDExOlB1bGxSZXF1ZXN0MTA1MzYzMzQ2", "number": 55, "title": "Stubbed CommandHandlers for known AdminCommands", "user": {"value": 11369233, "label": "LtRipley36706"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 2, "created_at": "2017-02-09T05:41:21Z", "updated_at": "2017-02-17T06:50:21Z", "closed_at": "2017-02-17T06:30:40Z", "author_association": "MEMBER", "active_lock_reason": null, "draft": 0, "pull_request": "ACEmulator/ACE/pulls/55", "body": "Stubbed known admin commands with expected usage. not all could eventually be needed. Some could example output could also be expanded upon.", "reactions": "{\"url\": \"https://api.github.com/repos/ACEmulator/ACE/issues/55/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "performed_via_github_app": null, "state_reason": null, "repo": {"value": 79078680, "label": "ACE"}, "type": "pull"} {"id": 206955987, "node_id": "MDU6SXNzdWUyMDY5NTU5ODc=", "number": 56, "title": "Background maintenance thread", "user": {"value": 25125434, "label": "TigrisOfGaul"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 1, "created_at": "2017-02-11T04:03:13Z", "updated_at": "2017-07-26T16:50:59Z", "closed_at": "2017-07-26T16:50:59Z", "author_association": "CONTRIBUTOR", "active_lock_reason": null, "draft": null, "pull_request": null, "body": "We need some sort of low priority thread to run and periodically perform routine maintenance tasks such as removing characters marked for deletion.", "reactions": "{\"url\": \"https://api.github.com/repos/ACEmulator/ACE/issues/56/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "performed_via_github_app": null, "state_reason": "completed", "repo": {"value": 79078680, "label": "ACE"}, "type": "issue"} {"id": 206960724, "node_id": "MDExOlB1bGxSZXF1ZXN0MTA1NzQzMDQy", "number": 57, "title": "Fixing up Character Delete and Restore functions", "user": {"value": 11369233, "label": "LtRipley36706"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 2, "created_at": "2017-02-11T05:45:56Z", "updated_at": "2017-02-17T06:50:19Z", "closed_at": "2017-02-16T05:17:24Z", "author_association": "MEMBER", "active_lock_reason": null, "draft": 0, "pull_request": "ACEmulator/ACE/pulls/57", "body": "In looking at the character deletion and restore section it made sense to me that name in character database shouldn't be made a unique value\r\nAt present in master, even if that character was marked as deleted, the character name is held.\r\n\r\nI've made changes to the code and database to better emulate how it worked before with respect to deletions and restores.\r\n\r\nAs is, no character is ever marked deleted so that is yet to be implemented, although I suspect that would be a server side SQL script or command within ACE running at an interval/manually via console as determined by a configuration variable(s) possibly in config.json.example for how often it checks, how long the restore window is and if to mark characters deleted or not which would remove them from restoration via client.\r\n\r\nGoing further than original design, perhaps it could be changed to hold the character name for that account only while the restoration window is active, as well as only allowing that account to create a brand new character with that deleted name.", "reactions": "{\"url\": \"https://api.github.com/repos/ACEmulator/ACE/issues/57/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "performed_via_github_app": null, "state_reason": null, "repo": {"value": 79078680, "label": "ACE"}, "type": "pull"} {"id": 207015535, "node_id": "MDExOlB1bGxSZXF1ZXN0MTA1NzcxODA1", "number": 58, "title": "Added support on ACE console for setting per character admin rights and character renaming", "user": {"value": 11369233, "label": "LtRipley36706"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 2, "created_at": "2017-02-11T23:19:23Z", "updated_at": "2017-03-10T04:56:08Z", "closed_at": "2017-03-09T07:44:47Z", "author_association": "MEMBER", "active_lock_reason": null, "draft": 0, "pull_request": "ACEmulator/ACE/pulls/58", "body": "Also included in this PR is a fix for the propertybools (IsAdmin, etc) not always being set from database when a character logs in.", "reactions": "{\"url\": \"https://api.github.com/repos/ACEmulator/ACE/issues/58/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "performed_via_github_app": null, "state_reason": null, "repo": {"value": 79078680, "label": "ACE"}, "type": "pull"} {"id": 207021510, "node_id": "MDExOlB1bGxSZXF1ZXN0MTA1Nzc1MjI4", "number": 59, "title": "Handle setting title from client and updating title from server", "user": {"value": 25618389, "label": "LytelthorpeThistledown"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 0, "created_at": "2017-02-12T01:28:07Z", "updated_at": "2017-02-16T03:21:35Z", "closed_at": "2017-02-16T03:21:34Z", "author_association": "CONTRIBUTOR", "active_lock_reason": null, "draft": 0, "pull_request": "ACEmulator/ACE/pulls/59", "body": "", "reactions": "{\"url\": \"https://api.github.com/repos/ACEmulator/ACE/issues/59/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "performed_via_github_app": null, "state_reason": null, "repo": {"value": 79078680, "label": "ACE"}, "type": "pull"} {"id": 207255861, "node_id": "MDExOlB1bGxSZXF1ZXN0MTA1OTE5NTYy", "number": 60, "title": "Added automation script for dropping and creating databases.", "user": {"value": 4389226, "label": "damnubber"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 0, "created_at": "2017-02-13T15:46:59Z", "updated_at": "2017-02-16T03:16:56Z", "closed_at": "2017-02-16T03:16:56Z", "author_association": "NONE", "active_lock_reason": null, "draft": 0, "pull_request": "ACEmulator/ACE/pulls/60", "body": "", "reactions": "{\"url\": \"https://api.github.com/repos/ACEmulator/ACE/issues/60/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "performed_via_github_app": null, "state_reason": null, "repo": {"value": 79078680, "label": "ACE"}, "type": "pull"} {"id": 207414071, "node_id": "MDExOlB1bGxSZXF1ZXN0MTA2MDMyNjEw", "number": 61, "title": "project separation and xp chart files", "user": {"value": 25351661, "label": "Mogwai-TheFurry"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 0, "created_at": "2017-02-14T04:18:31Z", "updated_at": "2017-05-30T15:34:11Z", "closed_at": "2017-02-16T03:04:34Z", "author_association": "CONTRIBUTOR", "active_lock_reason": null, "draft": 0, "pull_request": "ACEmulator/ACE/pulls/61", "body": "implements #43 and also moves all that xp chart data into json files loaded behind a database interface.", "reactions": "{\"url\": \"https://api.github.com/repos/ACEmulator/ACE/issues/61/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "performed_via_github_app": null, "state_reason": null, "repo": {"value": 79078680, "label": "ACE"}, "type": "pull"} {"id": 207544982, "node_id": "MDExOlB1bGxSZXF1ZXN0MTA2MTI1NjQy", "number": 62, "title": "just adding stylecop as a style ruleset with very basic stuff", "user": {"value": 25351661, "label": "Mogwai-TheFurry"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 0, "created_at": "2017-02-14T15:19:35Z", "updated_at": "2017-05-30T15:34:12Z", "closed_at": "2017-02-16T03:14:13Z", "author_association": "CONTRIBUTOR", "active_lock_reason": null, "draft": 0, "pull_request": "ACEmulator/ACE/pulls/62", "body": "the team can review the options and make changes as necessary.", "reactions": "{\"url\": \"https://api.github.com/repos/ACEmulator/ACE/issues/62/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "performed_via_github_app": null, "state_reason": null, "repo": {"value": 79078680, "label": "ACE"}, "type": "pull"} {"id": 207616123, "node_id": "MDU6SXNzdWUyMDc2MTYxMjM=", "number": 63, "title": "Save & reload window positioning", "user": {"value": 25351661, "label": "Mogwai-TheFurry"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 0, "created_at": "2017-02-14T19:42:36Z", "updated_at": "2017-07-26T16:50:45Z", "closed_at": "2017-07-26T16:50:45Z", "author_association": "CONTRIBUTOR", "active_lock_reason": null, "draft": null, "pull_request": null, "body": "Chat window(s), character info / inventory panel, etc.\r\n\r\nLogging this as people are constantly asking for stuff that can be done.", "reactions": "{\"url\": \"https://api.github.com/repos/ACEmulator/ACE/issues/63/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "performed_via_github_app": null, "state_reason": "completed", "repo": {"value": 79078680, "label": "ACE"}, "type": "issue"} {"id": 208003996, "node_id": "MDExOlB1bGxSZXF1ZXN0MTA2NDQ4MzI3", "number": 64, "title": "fixing merge conflict", "user": {"value": 25351661, "label": "Mogwai-TheFurry"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 0, "created_at": "2017-02-16T03:26:33Z", "updated_at": "2017-02-16T03:26:38Z", "closed_at": "2017-02-16T03:26:38Z", "author_association": "CONTRIBUTOR", "active_lock_reason": null, "draft": 0, "pull_request": "ACEmulator/ACE/pulls/64", "body": "", "reactions": "{\"url\": \"https://api.github.com/repos/ACEmulator/ACE/issues/64/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "performed_via_github_app": null, "state_reason": null, "repo": {"value": 79078680, "label": "ACE"}, "type": "pull"} {"id": 208004873, "node_id": "MDExOlB1bGxSZXF1ZXN0MTA2NDQ4ODAw", "number": 65, "title": "copy config.json as build step", "user": {"value": 25351661, "label": "Mogwai-TheFurry"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 0, "created_at": "2017-02-16T03:32:21Z", "updated_at": "2017-02-16T03:32:25Z", "closed_at": "2017-02-16T03:32:25Z", "author_association": "CONTRIBUTOR", "active_lock_reason": null, "draft": 0, "pull_request": "ACEmulator/ACE/pulls/65", "body": "", "reactions": "{\"url\": \"https://api.github.com/repos/ACEmulator/ACE/issues/65/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "performed_via_github_app": null, "state_reason": null, "repo": {"value": 79078680, "label": "ACE"}, "type": "pull"} {"id": 208019575, "node_id": "MDExOlB1bGxSZXF1ZXN0MTA2NDU2NjQz", "number": 66, "title": "Fixing up Character Delete and Restore functions", "user": {"value": 11369233, "label": "LtRipley36706"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 0, "created_at": "2017-02-16T05:16:36Z", "updated_at": "2017-02-17T06:49:36Z", "closed_at": "2017-02-17T01:38:08Z", "author_association": "MEMBER", "active_lock_reason": null, "draft": 0, "pull_request": "ACEmulator/ACE/pulls/66", "body": "In looking at the character deletion and restore section it made sense to me that name in character database shouldn't be made a unique value\r\nAt present in master, even if that character was marked as deleted, the character name is held.\r\n\r\nI've made changes to the code and database to better emulate how it worked before with respect to deletions and restores.\r\n\r\nAs is, character is marked deleted in database an hour after deleted from client via a server side SQL script running from event_scheduler. Later revisions to this code could address configuration variable(s) possibly in config.json.example for how long the restore window is and if to mark characters deleted or not which would remove them from restoration via client, enable/disable this event check etc..\r\n\r\nGoing further than original design, perhaps it could be changed to hold the character name for that account only while the restoration window is active, as well as only allowing that account to create a brand new character with that deleted name.", "reactions": "{\"url\": \"https://api.github.com/repos/ACEmulator/ACE/issues/66/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "performed_via_github_app": null, "state_reason": null, "repo": {"value": 79078680, "label": "ACE"}, "type": "pull"} {"id": 208349568, "node_id": "MDExOlB1bGxSZXF1ZXN0MTA2Njc1NzU5", "number": 67, "title": "Stubbed CommandHandlers for known AdminCommands", "user": {"value": 11369233, "label": "LtRipley36706"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 0, "created_at": "2017-02-17T06:30:16Z", "updated_at": "2017-02-17T06:49:40Z", "closed_at": "2017-02-17T06:36:23Z", "author_association": "MEMBER", "active_lock_reason": null, "draft": 0, "pull_request": "ACEmulator/ACE/pulls/67", "body": "Stubbed known admin commands with expected usage. not all could eventually be needed. Some example output could also be expanded upon as needed.", "reactions": "{\"url\": \"https://api.github.com/repos/ACEmulator/ACE/issues/67/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "performed_via_github_app": null, "state_reason": null, "repo": {"value": 79078680, "label": "ACE"}, "type": "pull"} {"id": 208352404, "node_id": "MDExOlB1bGxSZXF1ZXN0MTA2Njc3Mjcy", "number": 68, "title": "Fix for LoadCharacterProperties", "user": {"value": 11369233, "label": "LtRipley36706"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 0, "created_at": "2017-02-17T06:47:15Z", "updated_at": "2017-02-17T06:49:45Z", "closed_at": "2017-02-17T06:47:29Z", "author_association": "MEMBER", "active_lock_reason": null, "draft": 0, "pull_request": "ACEmulator/ACE/pulls/68", "body": "The PropertiesBools doesn't always get set on character upon login, this change should correct that issue.", "reactions": "{\"url\": \"https://api.github.com/repos/ACEmulator/ACE/issues/68/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "performed_via_github_app": null, "state_reason": null, "repo": {"value": 79078680, "label": "ACE"}, "type": "pull"} {"id": 208364550, "node_id": "MDExOlB1bGxSZXF1ZXN0MTA2Njg0MzU2", "number": 69, "title": "Friends List", "user": {"value": 22650655, "label": "sbaum23"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 0, "created_at": "2017-02-17T07:58:52Z", "updated_at": "2017-02-18T04:38:34Z", "closed_at": "2017-02-18T04:38:34Z", "author_association": "CONTRIBUTOR", "active_lock_reason": null, "draft": 0, "pull_request": "ACEmulator/ACE/pulls/69", "body": "Adds the ability to add/remove friends as well as see the list of friends when you log on. The status is also accurate and will change as friends log on/off. I added a Logout method to the Player class for putting stuff in there that needs to be done when a player logs off (like sending a packet to all your online friends that you are offline).\r\n\r\nThe extra commits are due to rebasing.\r\n\r\nThis resolves issue #39.", "reactions": "{\"url\": \"https://api.github.com/repos/ACEmulator/ACE/issues/69/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "performed_via_github_app": null, "state_reason": null, "repo": {"value": 79078680, "label": "ACE"}, "type": "pull"} {"id": 208542386, "node_id": "MDExOlB1bGxSZXF1ZXN0MTA2ODAyODE1", "number": 70, "title": "code cleanup, plus introduction of a couple new world object heirarchy types", "user": {"value": 25351661, "label": "Mogwai-TheFurry"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 0, "created_at": "2017-02-17T20:06:05Z", "updated_at": "2017-05-30T15:34:17Z", "closed_at": "2017-02-17T20:20:43Z", "author_association": "CONTRIBUTOR", "active_lock_reason": null, "draft": 0, "pull_request": "ACEmulator/ACE/pulls/70", "body": "", "reactions": "{\"url\": \"https://api.github.com/repos/ACEmulator/ACE/issues/70/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "performed_via_github_app": null, "state_reason": null, "repo": {"value": 79078680, "label": "ACE"}, "type": "pull"} {"id": 208612243, "node_id": "MDExOlB1bGxSZXF1ZXN0MTA2ODQ4MTI1", "number": 71, "title": "Issue 39 friends list", "user": {"value": 22650655, "label": "sbaum23"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 0, "created_at": "2017-02-18T04:40:22Z", "updated_at": "2017-02-18T04:46:34Z", "closed_at": "2017-02-18T04:46:34Z", "author_association": "CONTRIBUTOR", "active_lock_reason": null, "draft": 0, "pull_request": "ACEmulator/ACE/pulls/71", "body": "Resolves #39 ", "reactions": "{\"url\": \"https://api.github.com/repos/ACEmulator/ACE/issues/71/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "performed_via_github_app": null, "state_reason": null, "repo": {"value": 79078680, "label": "ACE"}, "type": "pull"} {"id": 208614354, "node_id": "MDU6SXNzdWUyMDg2MTQzNTQ=", "number": 72, "title": "Additional Friends Commands and Appear Offline", "user": {"value": 22650655, "label": "sbaum23"}, "state": "closed", "locked": 0, "assignee": {"value": 22650655, "label": "sbaum23"}, "milestone": null, "comments": 0, "created_at": "2017-02-18T05:29:14Z", "updated_at": "2017-02-18T13:14:26Z", "closed_at": "2017-02-18T13:14:26Z", "author_association": "CONTRIBUTOR", "active_lock_reason": null, "draft": null, "pull_request": null, "body": "Implement the following @friends commands:\r\n\r\n1. @friends remove -all\r\n2. @friends old (show a message that this command is no longer used)\r\n\r\nAlso implement the \"Appear Offline\" option so that it shows you as offline to your friends.", "reactions": "{\"url\": \"https://api.github.com/repos/ACEmulator/ACE/issues/72/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "performed_via_github_app": null, "state_reason": "completed", "repo": {"value": 79078680, "label": "ACE"}, "type": "issue"} {"id": 208616825, "node_id": "MDExOlB1bGxSZXF1ZXN0MTA2ODUwMjA5", "number": 73, "title": "Network Refactor", "user": {"value": 12808515, "label": "Zegeger"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 2, "created_at": "2017-02-18T06:02:43Z", "updated_at": "2017-02-18T15:08:24Z", "closed_at": "2017-02-18T15:08:24Z", "author_association": "CONTRIBUTOR", "active_lock_reason": null, "draft": 0, "pull_request": "ACEmulator/ACE/pulls/73", "body": "Created GameMessage class. Currently GameEvent inherits from\r\nGameMessage.\r\nGameMessage just build MemoryStream for message.\r\nMoved all opcodes that are outside of GameEvent in protocol over to be a\r\nGameMessage.\r\nCreated some basic (test) functions in NetworkManager to send the\r\nGameMessages.\r\nLots more to do, but this compiles and logs in successfully.\r\nNeed to move group to per message property.\r\nNeed to create per session packet queue.\r\nNeed to rewrite packet pipe to better process multifragment packets.\r\nNeed to finish testing multifragment packets and get working.", "reactions": "{\"url\": \"https://api.github.com/repos/ACEmulator/ACE/issues/73/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "performed_via_github_app": null, "state_reason": null, "repo": {"value": 79078680, "label": "ACE"}, "type": "pull"} {"id": 208624156, "node_id": "MDExOlB1bGxSZXF1ZXN0MTA2ODUzNzQw", "number": 74, "title": "Implemented \"/friends remove -all\", \"/friends old\" and Appear Offline.", "user": {"value": 22650655, "label": "sbaum23"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 0, "created_at": "2017-02-18T08:15:49Z", "updated_at": "2017-02-18T13:14:27Z", "closed_at": "2017-02-18T13:14:27Z", "author_association": "CONTRIBUTOR", "active_lock_reason": null, "draft": 0, "pull_request": "ACEmulator/ACE/pulls/74", "body": "/friends old just sends a chat packet saying that the command isn't used in the emu.\r\n\r\nI also had to fix a bug in two WorldManager methods that I added in an earlier PR. There was a scenario where the Session.Player was null and it was causing the LINQ query to throw an exception.\r\n\r\nAppear Offline is actually part of a GameAction that is used for setting many different options. The Handle method for it now just has a switch in it (there are ~52 options) for now but we may want to go to something else in the future as we add new features.\r\n\r\nResolves #72 ", "reactions": "{\"url\": \"https://api.github.com/repos/ACEmulator/ACE/issues/74/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "performed_via_github_app": null, "state_reason": null, "repo": {"value": 79078680, "label": "ACE"}, "type": "pull"} {"id": 208651560, "node_id": "MDExOlB1bGxSZXF1ZXN0MTA2ODY2ODY0", "number": 75, "title": "Fixed update .sql file names to conform to documented standard.", "user": {"value": 10608427, "label": "Mag-nus"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 0, "created_at": "2017-02-18T16:20:28Z", "updated_at": "2017-02-18T16:20:49Z", "closed_at": "2017-02-18T16:20:49Z", "author_association": "MEMBER", "active_lock_reason": null, "draft": 0, "pull_request": "ACEmulator/ACE/pulls/75", "body": "", "reactions": "{\"url\": \"https://api.github.com/repos/ACEmulator/ACE/issues/75/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "performed_via_github_app": null, "state_reason": null, "repo": {"value": 79078680, "label": "ACE"}, "type": "pull"} {"id": 208656503, "node_id": "MDExOlB1bGxSZXF1ZXN0MTA2ODY5NjIw", "number": 76, "title": "Reworked Appear Offline functionality", "user": {"value": 22650655, "label": "sbaum23"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 1, "created_at": "2017-02-18T17:33:27Z", "updated_at": "2017-02-20T05:17:46Z", "closed_at": "2017-02-20T05:17:46Z", "author_association": "CONTRIBUTOR", "active_lock_reason": null, "draft": 0, "pull_request": "ACEmulator/ACE/pulls/76", "body": "Reworked appear offline functionality so that it doesn't change IsOnline, which other things might depend on.\r\n\r\nAlso fixed issue with sending friends list updates that was introduced with the network refactor merge.", "reactions": "{\"url\": \"https://api.github.com/repos/ACEmulator/ACE/issues/76/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "performed_via_github_app": null, "state_reason": null, "repo": {"value": 79078680, "label": "ACE"}, "type": "pull"} {"id": 208701617, "node_id": "MDExOlB1bGxSZXF1ZXN0MTA2ODkyMzg3", "number": 77, "title": "Add AccessLevel to Accounts", "user": {"value": 11369233, "label": "LtRipley36706"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 3, "created_at": "2017-02-19T07:51:49Z", "updated_at": "2017-02-20T05:30:22Z", "closed_at": "2017-02-20T05:09:09Z", "author_association": "MEMBER", "active_lock_reason": null, "draft": 0, "pull_request": "ACEmulator/ACE/pulls/77", "body": "This addresses issue #44 and also contains some of PR #58 rolled in. \r\n\r\nOf note, CommandManager will now respect AccessLevels specified where previously it didn't care.\r\n\r\nSet-AccountAccess will set the account's accesslevel\r\nSet-CharacterAccess will set the character's accesslevel\r\n\r\nCommandManager only cares about character's accesslevel as of this PR. Per discussion with @Mogwai-AC I think we should code up a SUDO like command which then references to Account's AccessLevel for privileges. This way we emulate how it seemed to work on AC live (per character) in addition to then allowing accounts to self-promote characters, as they did with the admin button on character creation, as well as other admin functions on non-admin characters. \r\n\r\nProbably something along the lines of \"SUDO set-characteraccess [mynewcharacter] sentinel\" which just does a check back to session.accesslevel.", "reactions": "{\"url\": \"https://api.github.com/repos/ACEmulator/ACE/issues/77/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "performed_via_github_app": null, "state_reason": null, "repo": {"value": 79078680, "label": "ACE"}, "type": "pull"} {"id": 208755889, "node_id": "MDExOlB1bGxSZXF1ZXN0MTA2OTIyMTI5", "number": 78, "title": "Chat enums added. Say/Tell work, but names not clickable. Network Mes\u2026 \u2026sage framework cosmetic cleanups.", "user": {"value": 10608427, "label": "Mag-nus"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 0, "created_at": "2017-02-19T23:26:00Z", "updated_at": "2017-02-19T23:27:05Z", "closed_at": "2017-02-19T23:27:04Z", "author_association": "MEMBER", "active_lock_reason": null, "draft": 0, "pull_request": "ACEmulator/ACE/pulls/78", "body": "", "reactions": "{\"url\": \"https://api.github.com/repos/ACEmulator/ACE/issues/78/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "performed_via_github_app": null, "state_reason": null, "repo": {"value": 79078680, "label": "ACE"}, "type": "pull"} {"id": 208787114, "node_id": "MDExOlB1bGxSZXF1ZXN0MTA2OTQxODgz", "number": 79, "title": "Fixing changes to Fragment and Session.", "user": {"value": 11369233, "label": "LtRipley36706"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 0, "created_at": "2017-02-20T05:27:58Z", "updated_at": "2017-02-20T05:30:11Z", "closed_at": "2017-02-20T05:28:12Z", "author_association": "MEMBER", "active_lock_reason": null, "draft": 0, "pull_request": "ACEmulator/ACE/pulls/79", "body": "", "reactions": "{\"url\": \"https://api.github.com/repos/ACEmulator/ACE/issues/79/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "performed_via_github_app": null, "state_reason": null, "repo": {"value": 79078680, "label": "ACE"}, "type": "pull"} {"id": 208972136, "node_id": "MDU6SXNzdWUyMDg5NzIxMzY=", "number": 80, "title": "Saving and Loading Character Options", "user": {"value": 22650655, "label": "sbaum23"}, "state": "closed", "locked": 0, "assignee": {"value": 22650655, "label": "sbaum23"}, "milestone": null, "comments": 0, "created_at": "2017-02-20T20:10:20Z", "updated_at": "2017-03-02T13:51:44Z", "closed_at": "2017-03-02T13:51:44Z", "author_association": "CONTRIBUTOR", "active_lock_reason": null, "draft": null, "pull_request": null, "body": "1. Save options in the database\r\n2. Load options from the database\r\n3. Send options in the GameEventPlayerDescription packet\r\n", "reactions": "{\"url\": \"https://api.github.com/repos/ACEmulator/ACE/issues/80/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "performed_via_github_app": null, "state_reason": "completed", "repo": {"value": 79078680, "label": "ACE"}, "type": "issue"} {"id": 209030863, "node_id": "MDExOlB1bGxSZXF1ZXN0MTA3MTA4NjM1", "number": 81, "title": "Changed Find fn's in WorldManager from InWorld to IsOnline.. fixed pl\u2026", "user": {"value": 10608427, "label": "Mag-nus"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 0, "created_at": "2017-02-21T03:11:14Z", "updated_at": "2017-02-21T03:11:34Z", "closed_at": "2017-02-21T03:11:34Z", "author_association": "MEMBER", "active_lock_reason": null, "draft": 0, "pull_request": "ACEmulator/ACE/pulls/81", "body": "\u2026ayer GUID, added GameEventDisplay events.", "reactions": "{\"url\": \"https://api.github.com/repos/ACEmulator/ACE/issues/81/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "performed_via_github_app": null, "state_reason": null, "repo": {"value": 79078680, "label": "ACE"}, "type": "pull"} {"id": 209050525, "node_id": "MDExOlB1bGxSZXF1ZXN0MTA3MTIyMjYx", "number": 82, "title": "Changed ParseCommand to support the use of quotes", "user": {"value": 11369233, "label": "LtRipley36706"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 0, "created_at": "2017-02-21T06:06:33Z", "updated_at": "2017-02-27T15:07:24Z", "closed_at": "2017-02-21T12:31:10Z", "author_association": "MEMBER", "active_lock_reason": null, "draft": 0, "pull_request": "ACEmulator/ACE/pulls/82", "body": "This change allows any command to work with quotes to better delimit some parameters.\r\n\r\nAn example of this would be for commands that require the use of a character name which has spaces in it such as Maia the Lawyer. \r\n\r\nThe change results in the following command working as expected:\r\n\r\nset-characteraccess \"maia the laywer\" admin\r\n\r\nAnother example this change would fix would be the eventual problem with teleto which it gets wired-up.\r\nWithout the change, the command reads like teleto maia the laywer and would try to teleport to the character named maia instead of the full name. teleto \"maia the lawyer\" then corrects this issue and finds the right player.", "reactions": "{\"url\": \"https://api.github.com/repos/ACEmulator/ACE/issues/82/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "performed_via_github_app": null, "state_reason": null, "repo": {"value": 79078680, "label": "ACE"}, "type": "pull"} {"id": 209201688, "node_id": "MDU6SXNzdWUyMDkyMDE2ODg=", "number": 83, "title": "Add message buffering and send as multifragment packet", "user": {"value": 12808515, "label": "Zegeger"}, "state": "closed", "locked": 0, "assignee": {"value": 12808515, "label": "Zegeger"}, "milestone": null, "comments": 1, "created_at": "2017-02-21T16:38:59Z", "updated_at": "2017-02-27T14:41:27Z", "closed_at": "2017-02-27T14:41:26Z", "author_association": "CONTRIBUTOR", "active_lock_reason": null, "draft": null, "pull_request": null, "body": "Continue reworking network pipe to support message buffering and flushing from Session.Update to send as a multifragment packet.\r\n - NetworkBuffer class to queue messages during a timeslice\r\n - NetworkBuffer will have a current NetworkBundle which will contain all messages and optional flags.\r\n - On a session update, create new NetworkBundle and use the previous one to send packets.\r\n - Move certain packet flag responses (Echo, TimeSync, etc) to be sent with a NetworkBundle.\r\n - Create NetworkManager function to send a NetworkBundle, splitting large messages into two packets, or combining multiple messages into one packet.\r\n - - This function should take a NetworkBundle and create packets and fragments as appropriate to send all messages.", "reactions": "{\"url\": \"https://api.github.com/repos/ACEmulator/ACE/issues/83/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "performed_via_github_app": null, "state_reason": "completed", "repo": {"value": 79078680, "label": "ACE"}, "type": "issue"} {"id": 209354215, "node_id": "MDExOlB1bGxSZXF1ZXN0MTA3MzM2NDQ4", "number": 84, "title": "Skill spend upper bound check too prevent xp crash, also Max Skills!", "user": {"value": 37453, "label": "fantoms"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 5, "created_at": "2017-02-22T05:09:25Z", "updated_at": "2017-03-02T13:03:44Z", "closed_at": "2017-03-02T13:03:43Z", "author_association": "CONTRIBUTOR", "active_lock_reason": null, "draft": 0, "pull_request": "ACEmulator/ACE/pulls/84", "body": "Added an Ability and Skill check in Source/ACE/Entity/Player.cs, too attempt in preventing server from crashing when spending XP points.", "reactions": "{\"url\": \"https://api.github.com/repos/ACEmulator/ACE/issues/84/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "performed_via_github_app": null, "state_reason": null, "repo": {"value": 79078680, "label": "ACE"}, "type": "pull"} {"id": 209752794, "node_id": "MDExOlB1bGxSZXF1ZXN0MTA3NjE4MjA1", "number": 85, "title": "Network Channels + Player Effect to Test @effect 20", "user": {"value": 25387933, "label": "Forbiddenz"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 0, "created_at": "2017-02-23T12:51:12Z", "updated_at": "2017-02-23T13:41:57Z", "closed_at": "2017-02-23T13:41:57Z", "author_association": "CONTRIBUTOR", "active_lock_reason": null, "draft": 0, "pull_request": "ACEmulator/ACE/pulls/85", "body": "Forgive my get newb..\r\n\r\nI added a method of picking your channels on each message type..\r\n\r\nExample of creating a message with channel can be found..\r\n```\r\npublic class GameMessageEffect : GameMessageOnChannel\r\n\r\n//using the ChannelMessages.\r\n //plays particle effect like spell casting or bleed etc..\r\n public void PlayParticleEffect(uint effectid)\r\n {\r\n var effectevent = new GameMessageEffect(this.Guid, effectid);\r\n NetworkManager.SendWorldChannelMessages(Session, new GameMessageOnChannel[] { effectevent });\r\n }\r\n```", "reactions": "{\"url\": \"https://api.github.com/repos/ACEmulator/ACE/issues/85/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "performed_via_github_app": null, "state_reason": null, "repo": {"value": 79078680, "label": "ACE"}, "type": "pull"} {"id": 209787790, "node_id": "MDExOlB1bGxSZXF1ZXN0MTA3NjQyOTEy", "number": 86, "title": "Group chat code added. Chat channels are currently hard coded. Chat i\u2026", "user": {"value": 10608427, "label": "Mag-nus"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 0, "created_at": "2017-02-23T15:06:27Z", "updated_at": "2017-02-23T15:06:44Z", "closed_at": "2017-02-23T15:06:44Z", "author_association": "MEMBER", "active_lock_reason": null, "draft": 0, "pull_request": "ACEmulator/ACE/pulls/86", "body": "\u2026s sent to all players, even if they aren't subscribed to a channel.\r\n\r\nUpdated StatusMessageType enums. They need work still.", "reactions": "{\"url\": \"https://api.github.com/repos/ACEmulator/ACE/issues/86/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "performed_via_github_app": null, "state_reason": null, "repo": {"value": 79078680, "label": "ACE"}, "type": "pull"} {"id": 209859327, "node_id": "MDExOlB1bGxSZXF1ZXN0MTA3Njk0Nzcy", "number": 87, "title": "DO NOT MERGE - for reviewing work in progress only", "user": {"value": 25351661, "label": "Mogwai-TheFurry"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 0, "created_at": "2017-02-23T19:27:26Z", "updated_at": "2017-02-24T02:57:35Z", "closed_at": "2017-02-24T02:57:35Z", "author_association": "CONTRIBUTOR", "active_lock_reason": null, "draft": 0, "pull_request": "ACEmulator/ACE/pulls/87", "body": "work in progress, committing for others to review", "reactions": "{\"url\": \"https://api.github.com/repos/ACEmulator/ACE/issues/87/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "performed_via_github_app": null, "state_reason": null, "repo": {"value": 79078680, "label": "ACE"}, "type": "pull"} {"id": 210208094, "node_id": "MDExOlB1bGxSZXF1ZXN0MTA3OTQ1MDM1", "number": 88, "title": "DDD stub code, AllegianceUpdate stub, IdentifyObject stub", "user": {"value": 10608427, "label": "Mag-nus"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 0, "created_at": "2017-02-25T03:51:39Z", "updated_at": "2017-02-25T03:51:52Z", "closed_at": "2017-02-25T03:51:52Z", "author_association": "MEMBER", "active_lock_reason": null, "draft": 0, "pull_request": "ACEmulator/ACE/pulls/88", "body": "", "reactions": "{\"url\": \"https://api.github.com/repos/ACEmulator/ACE/issues/88/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "performed_via_github_app": null, "state_reason": null, "repo": {"value": 79078680, "label": "ACE"}, "type": "pull"} {"id": 210217121, "node_id": "MDExOlB1bGxSZXF1ZXN0MTA3OTUwNDcz", "number": 89, "title": "Corrected Teleloc command to work with exact numbers", "user": {"value": 11369233, "label": "LtRipley36706"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 0, "created_at": "2017-02-25T07:05:25Z", "updated_at": "2017-02-26T06:03:15Z", "closed_at": "2017-02-25T12:39:27Z", "author_association": "MEMBER", "active_lock_reason": null, "draft": 0, "pull_request": "ACEmulator/ACE/pulls/89", "body": " as provided by /loc command from client.", "reactions": "{\"url\": \"https://api.github.com/repos/ACEmulator/ACE/issues/89/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "performed_via_github_app": null, "state_reason": null, "repo": {"value": 79078680, "label": "ACE"}, "type": "pull"} {"id": 210217148, "node_id": "MDExOlB1bGxSZXF1ZXN0MTA3OTUwNDg4", "number": 90, "title": "Rewrote network stack", "user": {"value": 12808515, "label": "Zegeger"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 3, "created_at": "2017-02-25T07:06:09Z", "updated_at": "2017-02-27T11:28:37Z", "closed_at": "2017-02-27T11:28:37Z", "author_association": "CONTRIBUTOR", "active_lock_reason": null, "draft": 0, "pull_request": "ACEmulator/ACE/pulls/90", "body": "Rewrote network stack to support buffering messages and then dispatching as 1 or more combined or split packets. EncryptedChecksum seems to work across the board. Sending Packets with fragments from different groups does not seem to cause an issue.\r\nPackets are queued and sent based on calls from the Engine. Configurable delay (5ms currently)\r\nReworked CachedPackets some, and now clear the list based on AckSeq packets from client. Sending AckSeq packets to the client seems to cause issues currently, need more testing.\r\nMoved some things around to fit this new model.\r\nPut message Group as a property on each message. And send this in fragment. Sounds now work again.\r\nCreated new packet classes to encapsulate data in AuthenticationManager and CharacterManager and allow them to be send through the same model (though packets will never be manipulated).\r\n", "reactions": "{\"url\": \"https://api.github.com/repos/ACEmulator/ACE/issues/90/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "performed_via_github_app": null, "state_reason": null, "repo": {"value": 79078680, "label": "ACE"}, "type": "pull"} {"id": 210239879, "node_id": "MDU6SXNzdWUyMTAyMzk4Nzk=", "number": 91, "title": "StatusMessageType1 and StatusMessageType2 values need descriptive names", "user": {"value": 10608427, "label": "Mag-nus"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 2, "created_at": "2017-02-25T15:06:49Z", "updated_at": "2018-02-12T18:57:55Z", "closed_at": "2018-02-12T18:57:37Z", "author_association": "MEMBER", "active_lock_reason": null, "draft": null, "pull_request": null, "body": "", "reactions": "{\"url\": \"https://api.github.com/repos/ACEmulator/ACE/issues/91/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "performed_via_github_app": null, "state_reason": "completed", "repo": {"value": 79078680, "label": "ACE"}, "type": "issue"} {"id": 210289130, "node_id": "MDExOlB1bGxSZXF1ZXN0MTA3OTkyMTIw", "number": 92, "title": "Add in support for the old global Admin channels", "user": {"value": 11369233, "label": "LtRipley36706"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 1, "created_at": "2017-02-26T06:00:53Z", "updated_at": "2017-02-27T15:04:42Z", "closed_at": "2017-02-27T14:38:23Z", "author_association": "MEMBER", "active_lock_reason": null, "draft": 0, "pull_request": "ACEmulator/ACE/pulls/92", "body": "Resurrected the various Admin global channels used by the Advocates, Sentinels, Envoys, and Admins, stubbed the @on and @off commands and added support for @index and @clist commands.\r\n\r\nSome TODOs have been put into the code for when we get a plan in place for for db loading/saving of channel subscriptions, as well as properly set subscriptions for that matter.", "reactions": "{\"url\": \"https://api.github.com/repos/ACEmulator/ACE/issues/92/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "performed_via_github_app": null, "state_reason": null, "repo": {"value": 79078680, "label": "ACE"}, "type": "pull"} {"id": 210350061, "node_id": "MDExOlB1bGxSZXF1ZXN0MTA4MDIyODE3", "number": 93, "title": "Support easy permissions in ACEmulator", "user": {"value": 11369233, "label": "LtRipley36706"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 1, "created_at": "2017-02-26T21:25:56Z", "updated_at": "2017-02-27T15:04:36Z", "closed_at": "2017-02-27T13:51:26Z", "author_association": "MEMBER", "active_lock_reason": null, "draft": 0, "pull_request": "ACEmulator/ACE/pulls/93", "body": "Improved best of both worlds scenario.\r\n\r\nServer operators have the choice to emulate access permissions via more complicated system used on official worlds or they can choose to use simplified account based permissions which would become the default install option for ACEmulator.", "reactions": "{\"url\": \"https://api.github.com/repos/ACEmulator/ACE/issues/93/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "performed_via_github_app": null, "state_reason": null, "repo": {"value": 79078680, "label": "ACE"}, "type": "pull"} {"id": 210488807, "node_id": "MDExOlB1bGxSZXF1ZXN0MTA4MTE3NjQw", "number": 94, "title": "Support easy permissions in ACEmulator", "user": {"value": 11369233, "label": "LtRipley36706"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 0, "created_at": "2017-02-27T13:51:09Z", "updated_at": "2017-02-27T15:04:32Z", "closed_at": "2017-02-27T14:04:24Z", "author_association": "MEMBER", "active_lock_reason": null, "draft": 0, "pull_request": "ACEmulator/ACE/pulls/94", "body": "Improved best of both worlds scenario.\r\n\r\nServer operators have the choice to emulate access permissions via more complicated system used on official worlds or they can choose to use simplified account based permissions which would become the default install option for ACEmulator.", "reactions": "{\"url\": \"https://api.github.com/repos/ACEmulator/ACE/issues/94/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "performed_via_github_app": null, "state_reason": null, "repo": {"value": 79078680, "label": "ACE"}, "type": "pull"} {"id": 210501772, "node_id": "MDExOlB1bGxSZXF1ZXN0MTA4MTI2NTQy", "number": 95, "title": "Add in support for the old global Admin channels", "user": {"value": 11369233, "label": "LtRipley36706"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 0, "created_at": "2017-02-27T14:37:58Z", "updated_at": "2017-02-27T15:04:28Z", "closed_at": "2017-02-27T14:49:37Z", "author_association": "MEMBER", "active_lock_reason": null, "draft": 0, "pull_request": "ACEmulator/ACE/pulls/95", "body": "Resurrected the various Admin global channels used by the Advocates, Sentinels, Envoys, and Admins, stubbed the @on and @off commands and added support for @index and @clist commands.\r\n\r\nSome TODOs have been put into the code for when we get a plan in place for for db loading/saving of channel subscriptions, as well as properly set subscriptions for that matter.", "reactions": "{\"url\": \"https://api.github.com/repos/ACEmulator/ACE/issues/95/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "performed_via_github_app": null, "state_reason": null, "repo": {"value": 79078680, "label": "ACE"}, "type": "pull"} {"id": 210534535, "node_id": "MDU6SXNzdWUyMTA1MzQ1MzU=", "number": 96, "title": "Broadcasting chat to appropriate scope and loading landblocks", "user": {"value": 25351661, "label": "Mogwai-TheFurry"}, "state": "closed", "locked": 0, "assignee": {"value": 25351661, "label": "Mogwai-TheFurry"}, "milestone": null, "comments": 0, "created_at": "2017-02-27T16:27:03Z", "updated_at": "2017-03-20T14:31:11Z", "closed_at": "2017-03-20T14:31:11Z", "author_association": "CONTRIBUTOR", "active_lock_reason": null, "draft": null, "pull_request": null, "body": "placeholder issue for what i'm working on, really", "reactions": "{\"url\": \"https://api.github.com/repos/ACEmulator/ACE/issues/96/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "performed_via_github_app": null, "state_reason": "completed", "repo": {"value": 79078680, "label": "ACE"}, "type": "issue"} {"id": 210686564, "node_id": "MDExOlB1bGxSZXF1ZXN0MTA4MjU4Mjkx", "number": 97, "title": "Fix Account.Salt not being stored in DB", "user": {"value": 11369233, "label": "LtRipley36706"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 0, "created_at": "2017-02-28T04:51:54Z", "updated_at": "2017-03-01T06:05:39Z", "closed_at": "2017-02-28T14:46:45Z", "author_association": "MEMBER", "active_lock_reason": null, "draft": 0, "pull_request": "ACEmulator/ACE/pulls/97", "body": "", "reactions": "{\"url\": \"https://api.github.com/repos/ACEmulator/ACE/issues/97/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "performed_via_github_app": null, "state_reason": null, "repo": {"value": 79078680, "label": "ACE"}, "type": "pull"} {"id": 210694590, "node_id": "MDExOlB1bGxSZXF1ZXN0MTA4MjYzOTI2", "number": 98, "title": "Correcting a few bugs with ChatChannel", "user": {"value": 11369233, "label": "LtRipley36706"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 0, "created_at": "2017-02-28T05:59:37Z", "updated_at": "2017-03-01T06:05:35Z", "closed_at": "2017-02-28T13:24:10Z", "author_association": "MEMBER", "active_lock_reason": null, "draft": 0, "pull_request": "ACEmulator/ACE/pulls/98", "body": "", "reactions": "{\"url\": \"https://api.github.com/repos/ACEmulator/ACE/issues/98/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "performed_via_github_app": null, "state_reason": null, "repo": {"value": 79078680, "label": "ACE"}, "type": "pull"} {"id": 210974260, "node_id": "MDExOlB1bGxSZXF1ZXN0MTA4NDYzODEw", "number": 99, "title": "Character options are saving/loading from database.", "user": {"value": 22650655, "label": "sbaum23"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 0, "created_at": "2017-03-01T04:04:17Z", "updated_at": "2017-03-02T12:51:03Z", "closed_at": "2017-03-02T12:51:03Z", "author_association": "CONTRIBUTOR", "active_lock_reason": null, "draft": 0, "pull_request": "ACEmulator/ACE/pulls/99", "body": "Resolves issue #80 ", "reactions": "{\"url\": \"https://api.github.com/repos/ACEmulator/ACE/issues/99/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "performed_via_github_app": null, "state_reason": null, "repo": {"value": 79078680, "label": "ACE"}, "type": "pull"} {"id": 210986292, "node_id": "MDExOlB1bGxSZXF1ZXN0MTA4NDcyMDY3", "number": 100, "title": "Option to send Internal IP as World Host to client", "user": {"value": 11369233, "label": "LtRipley36706"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 0, "created_at": "2017-03-01T05:50:28Z", "updated_at": "2017-03-06T06:38:50Z", "closed_at": "2017-03-02T12:51:47Z", "author_association": "MEMBER", "active_lock_reason": null, "draft": 0, "pull_request": "ACEmulator/ACE/pulls/100", "body": "Allows a server operator to configure their external IP for clients connecting from the internet as well as allowing clients connecting on the intranet to use the local network IP address of the server remaining on local network instead of going out to come back in.\r\n\r\nThe options are configurable via config.json and set to false by default.", "reactions": "{\"url\": \"https://api.github.com/repos/ACEmulator/ACE/issues/100/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "performed_via_github_app": null, "state_reason": null, "repo": {"value": 79078680, "label": "ACE"}, "type": "pull"}