mm201 / pkmn-classic-framework

Pokémon application logic for Generation IV and V, including servers
http://pkmnclassic.net/
Other
219 stars 43 forks source link

mew room support #120

Closed Mythra closed 1 year ago

Mythra commented 1 year ago

refs #7

this commit adds in a static response for the "mew" room, as well as adds in a note about how the web response isn't taken if the peerchat server returns a special key for GETCHANKEY (which the open one does). i haven't yet figured out the correct "empty" response for peerchat, so peerchat will always have priority meaning this endpoint is basically a no-op.

NOTE: I can generate rooms now, and have figured out most of the fields, but there are still some i'm missing, and some i have a general idea of what a byte means, but don't know the range of valid values. to not overload the maintainers, i'm not going to commit my projects half generated structures.

in the following weeks I hope to fully sketch out all the fields, all their values, as well as figure out the "empty" response for peerchat, and bring those into this project that way they can be used to generate rooms of any type, and plugged into whatever administration tool mm201 would like to build :)

if there are any rooms i can generate in the meantime, or folks would like to work on these with me feel free to reach out. :)

mm201 commented 1 year ago

This implies the current response is only for the Grass room, right? Is peerchat sending a better schedule? Because we were getting various room types in the plaza, and I've recently seen the Water room at the very least.

Mythra commented 1 year ago

Yeah! So the static response we have here is for the grass room(, and now the mew room). This gets overridden by peerchat as mentioned in the comment which currently has the following logic:

https://github.com/shutterbug2000/miniircd-peerchat/blob/master/miniircd#L69-L72

The random was there before the mew room response and what ended up affecting the room choice (it did so semi incorrectly, but it had the effect of choosing rooms with some decent randomness).

As I’m working on the new structures and responses I imagine we’ll probably want to have three knobs:

Peerchat should also have a similar set of generating a random weighted room, a schedule, or a flag to return empty and let the web server’s schedule be taken.