Skip to content

Set up GitHub Actions for .apworld file - #1

Draft
ayancey wants to merge 4 commits into
Deadlydiamond98:mainfrom
ayancey:main
Draft

ayancey wants to merge 4 commits into
Deadlydiamond98:mainfrom
ayancey:main

Conversation

@ayancey

@ayancey ayancey commented Jan 22, 2026

Copy link
Copy Markdown
  • Automatically create the .apworld file when a commit is tagged, or when a release is created.
  • Updated README

@hedo29

hedo29 commented Jan 22, 2026

Copy link
Copy Markdown

If this is intended to be merged back into the main branch editing these files is going to cause a load of conflicts and doesn't match Archipelago contribution guidelines.

This does seem like the fork-point was taken pretty far back so the files don't exactly align anyway, but why delete all of them?

@ayancey

ayancey commented Jan 22, 2026

Copy link
Copy Markdown
Author

I didn't consider that this would get merged into Archipelago. I figured this would stay as a separate repo for those interested in the Minecraft APWorld, but that's a good point.

For those looking at this repo separately, the README and CI helps new players get it running faster. But you're right, it depends on what you want to do. Can always cherry-pick later when you decide to submit a PR to the main branch.

@hedo29

hedo29 commented Jan 22, 2026

Copy link
Copy Markdown

Ultimately it's not my decision, but it breaks a lot of convention for games listed in the AP server to go this way. Most "unsupported"/in-development games have players download the apworld file directly from the releases tab (and directly upload the files as needed) rather than CI it because 90+% of people who open the page don't know how it works.

Having better documentation is better for those who are interested, though, including how to connect. I can smell the issue list's growth incoming.

Owner's call as to whether this is something for long-term (eventual merge) or will remain in unsupported limbo, but personally I feel this should belong in a MC-specific setup guide as a separate file rather than overwrite AP's files. This will be necessary regardless, especially as people funnel into the discord channel asking questions ranging from basic modding problems to involved AP debugging.

I suppose the additional comments near the end involve changes you are planning on your own fork?

@ayancey
ayancey marked this pull request as draft January 22, 2026 22:37
@ayancey

ayancey commented Jan 22, 2026

Copy link
Copy Markdown
Author

Thank you! I am new to Archipelago so I'm not familiar with the conventions for contributing. I will rework this and monitor the Discord so I can get more familiar with frequent issues players run into, and hopefully tidy things up and give them easy docs to follow.

@Deadlydiamond98

Deadlydiamond98 commented Jan 23, 2026

Copy link
Copy Markdown
Owner

Ty very much for Read Me! It's nice to have some proper docs for setup! I will be avoiding merge with this (only because I do eventually want to be able to Merge this to be a core game once I feel everything is feature complete), but I do have a place where a wiki can go if you or anyone else wants to contribute Here!

I'll move the readme over to here, and will start linking it with releases

threecrowsinatrenchcrowt referenced this pull request in threecrowsinatrenchcrowt/MinecraftFabricAPWorld Aug 15, 2026
* Added ability to define custom port ranges the WebHost will use for game servers, instead of pure random.

* - Added better fallback to default port range when a custom range fails
- Updated config to be clearer

* Added ability to define custom port ranges the WebHost will use for game servers, instead of pure random.

* - Added better fallback to default port range when a custom range fails
- Updated config to be clearer

* Updated soft-fail message

* Removed dead import from customserver.py

* Update requirements.txt

Settings requirements to main core branch

* fix what reviewers said and add some improvements

* remove unused argument

* try fixing test with try

* use yaml lists instead of string for config

* fix value type bug on ephemeral type

* reuse sockets with websockets api instead of opening and closing them

* add used ports cache and filter used ports when looking for ports

* fix port randomizer

* Apply suggestions from code review

Co-authored-by: Duck <31627079+duckboycool@users.noreply.github.com>

* fix some reviews

* use weights for random port and remove more-itertools

* fix net_connections not working on macOS

* rename variables and functions

* lazy init `get_used_ports`

* change `game_ports` to be `tuple`

* fix last_used_ports not being updated locally

* fix random choices and move game_port conversion into tuple

* Apply suggestions from code review

Co-authored-by: Duck <31627079+duckboycool@users.noreply.github.com>

* use a named tuple on parse_game_ports

* only use ranges

* do it the duck way

* this should check all usable ports before failing

* fix while loop

* add return type to weighted random

* Update WebHostLib/customserver.py

Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com>

* simplify tuple conversion check

* add tests

* reformat file and change `create_random_port_socket` test

* add more test cases for parse_game_ports

* try to prevent busy-looping on create random port socket when doing test

* simplify parse game port tests to one assertListEqual

* make the range lesser for port test

* reduce range on macOS

* Apply suggestions from code review

Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com>

* Update WebHostLib/customserver.py

Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com>

* Apply suggestions from code review

Co-authored-by: Doug Hoskisson <beauxq@users.noreply.github.com>

* remove unused import

* Update WebHostLib/customserver.py

Co-authored-by: Doug Hoskisson <beauxq@users.noreply.github.com>

* use generator expressions

* check for 0-tuple

* use some kind of shuffled queue

* update tests

* refactor new port handling into a class (#1)

* change time to monotonic

* Update docs/webhost configuration sample.yaml

Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com>

* add psutil 7.2.2 as requirement

* Update WebHostLib/requirements.txt

Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com>

---------

Co-authored-by: Lexipherous <jasonnlelong@gmail.com>
Co-authored-by: Duck <31627079+duckboycool@users.noreply.github.com>
Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com>
Co-authored-by: Doug Hoskisson <beauxq@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants