Difference between revisions of "Junethack/FAQ"

From NetHackWiki
Jump to navigation Jump to search
m (Fixed placement of adverb.)
m (note that gnollhack games are not filtered by difficulty)
 
(25 intermediate revisions by 10 users not shown)
Line 3: Line 3:
 
Feel free to add questions and answers to this document.
 
Feel free to add questions and answers to this document.
  
= General =
+
== General ==
  
== What's new this year (2018)? ==
+
=== Contact ===
 +
You can reach the organizers and other players in various ways.
  
[[NetHack 1.3d]], the first version of NetHack ever released, is again part of the tournament.
+
On the NetHack subreddit is a [https://www.reddit.com/r/nethack/comments/bvellj/junethack_2019_the_9th_nethack_crossvariant/ Junethack thread] throughout the month.
It is playable on the hardfought.org public servers.
 
  
[[xNetHack]] and [[SpliceHack]] are new variants that are featured for the first time in the tournament, both available for play on the hardfought.org public servers.
+
There's a dedicated discord channel [https://discord.gg/AKUy6RG #nethack-junethack] on the Roguelikes discord channel.
  
[[UnNetHack]] has a lot of [https://junethack.net/trophies/unnethack new achievements].
+
On the [[Libera]] IRC network, is a [irc://irc.libera.chat/junethack #junethack] channel.
Essentially killing a [[unique monster]] will earn an achievement and killing every unique of certain classes (e.g. riders or quest leaders) will earn you an additional achievement.
 
  
Clan admins can set a banner for their clans.  
+
Last but not least there's the newsgroup [[rec.games.roguelike.nethack]].
  
The clan trophy for log(points) has been dropped, as it was too easily abused. A replacement is planned but not yet finished.
+
=== What's new in 2022? ===
 +
[[SlashTHEM]] on the [[hardfought]] public servers is a variant that is returning to the tournament, after it has been last featured in the tournament of 2015.
  
Likewise with the number of variants in the tournament, the cross-variant achievements will need some adjustements.
+
Previous year's news are [[Junethack/FAQ/Archive|archived on this page]].
  
== I missed the start of the tournament, can I still play? ==
+
=== I missed the start of the tournament, can I still play? ===
  
 
You can join the tournament right up until it ends; even if you miss the very start, there's still plenty of time to play. In fact, after signing up, any games that you played on a participating server entirely during June will retroactively become eligible for the tournament, so you can start playing now and decide whether or not to join later.
 
You can join the tournament right up until it ends; even if you miss the very start, there's still plenty of time to play. In fact, after signing up, any games that you played on a participating server entirely during June will retroactively become eligible for the tournament, so you can start playing now and decide whether or not to join later.
  
== How do I play? ==
+
=== How do I play? ===
  
 
You play your games on one of the participating [https://junethack.net/servers public servers].
 
You play your games on one of the participating [https://junethack.net/servers public servers].
Line 31: Line 31:
 
Junethack then captures those games, and checks if you are eligible for trophies.
 
Junethack then captures those games, and checks if you are eligible for trophies.
  
== I'm not a good player ==
+
=== I'm not a good player ===
  
 
Junethack is informally known as "the tournament for players who suck at NetHack".  
 
Junethack is informally known as "the tournament for players who suck at NetHack".  
Line 37: Line 37:
 
Consider joining a clan as all clan trophies are designed such that even a new player of NetHack is never detrimental to the clan and might even be able to contribute towards the clan score.
 
Consider joining a clan as all clan trophies are designed such that even a new player of NetHack is never detrimental to the clan and might even be able to contribute towards the clan score.
  
== When does the tournament start and end? ==
+
=== When does the tournament start and end? ===
 
The tournament starts at June 1st 00:00 UTC and ends on June 30th right before midnight UTC.
 
The tournament starts at June 1st 00:00 UTC and ends on June 30th right before midnight UTC.
  
Line 44: Line 44:
 
All dates in Junethack are in UTC.
 
All dates in Junethack are in UTC.
  
== What games are eligible for the tournament? ==
+
=== What games are eligible for the tournament? ===
All games of the NetHack and variants played on the participating [[https://junethack.net/servers public servers]] during June are eligible.
+
Games of NetHack and variants played on the participating [https://junethack.net/servers public servers] during June are eligible.
  
 
A game needs to have started and ended in June to be eligible.
 
A game needs to have started and ended in June to be eligible.
  
== My login from last year doesn't work ==
+
A game will be excluded and ignored for the tournament if one of the following conditions apply:
 +
- it's a special game mode like e.g. [[explore mode]], [[wizard mode]], etc.
 +
- it's a [[start_scumming|startscummed]] game (currently defined as escaping or quitting within the first 10 turns)
 +
- it's an elven [[Anachrononaut]]
 +
 
 +
These are the only restrictions. For example, Gnollhack games are not filtered by difficulty.
 +
 
 +
=== Why aren't the achievements from my game showing up on the scoreboard or being announced in IRC? ===
 +
Typically, this is because your game hasn't ended yet, or has ended very recently. Junethack operates by reading games' [[xlogfile]]s, which only record a game after it is complete. Additionally, it only checks periodically for new data, rather than constantly, so there may be a lag of several minutes before a completed game is registered.
 +
 
 +
=== My login from last year doesn't work ===
  
 
Junethack starts each year with a clean setup. You need to re-register your login every year.
 
Junethack starts each year with a clean setup. You need to re-register your login every year.
  
 +
== Achievements / Trophies ==
  
= Achievements / Trophies =
+
=== Medusa kills ===
 
 
== Medusa kills ==
 
  
 
Only one kill per game counts towards the "Medusa kill" clan trophy  
 
Only one kill per game counts towards the "Medusa kill" clan trophy  
  
== Most variant/trophy or ascended variant/role/race/alignment/gender combinations ==
+
=== Most variant/trophy or ascended variant/role/race/alignment/gender combinations ===
  
 
If two clan members both get the same sets of trophies in the same variants, the trophies only count once towards the clan trophies.
 
If two clan members both get the same sets of trophies in the same variants, the trophies only count once towards the clan trophies.
Line 66: Line 75:
 
But as a clan member can at any time leave and join a different clan, it's not necessarily redundant to have several clan members claiming the same trophies.
 
But as a clan member can at any time leave and join a different clan, it's not necessarily redundant to have several clan members claiming the same trophies.
  
 +
== Clans ==
  
= Clans =
+
=== How do I join a clan? ===
 
 
== How do I join a clan? ==
 
  
 
You need to be invited by a clan admin. You see clan invitations at the bottom of your administration page after you login.
 
You need to be invited by a clan admin. You see clan invitations at the bottom of your administration page after you login.
Line 75: Line 83:
 
The clan admin is listed on the [https://junethack.net/clans  Junethack clan page].
 
The clan admin is listed on the [https://junethack.net/clans  Junethack clan page].
  
== Where can I find other players? ==
+
=== Where can I find other players? ===
 +
 
 +
You could either check out the [https://reddit.com/r/nethack  NetHack subreddit], the #junethack channel on the [[Libera]] IRC network, or the [https://discord.gg/mFNbXGy  Roguelikes discord channel].
 +
 
 +
== Variant developer information ==
 +
 
 +
=== What is needed for my variant to be included in Junethack? ===
 +
 
 +
You need to have a public server on which your variant is installed and can be played online.
 +
 
 +
The public server needs to have a [[xlogfile]] (included and enabled by default in NetHack since 3.6.0) that is accessible from the web.
 +
 
 +
The user configs needs to be accessible from the web as well for verification purposes.
 +
 
 +
Not required but nice to have is if the URL of the dumplogs on your public server can be deduced from the xlogfile data so that they can be linked from the Junethack site. Most public servers use a combination of game starting time in unix epoch time and the player name.
 +
 
 +
=== New trophies and achievements ===
 +
 
 +
A trophy or achievement in Junethack needs a winning condition, a small image (54 by 54 pixels), a name, and a description.  Your variant needs to encode the winning condition unambiguously in the xlogfile.
 +
 
 +
The 12 classic xlogfile conditions (ascended, entered Astral Plane, entered Elemental Planes, obtained the Amulet of Yendor, performed the Invocation Ritual, obtained the Book of the Dead, obtained the Bell of Opening, obtained the Candelabrum of Invocation, entered Gehennom, defeated Medusa, obtained the luckstone from the Mines, obtained the Sokoban Prize) are already encoded in the standard xlogfile and need no extra code.`
 +
 
 +
Historically, achievements were encoded in bitfields in the xlogfile patch. This is rather cumbersome and errorprone to decode, even more so if you consider the different variants that might use the same bits for different conditions. Look at [https://github.com/NetHack/NetHack/commit/0e4ff07cef achieveX or conductX in NetHack 3.7], or [https://github.com/UnNetHack/UnNetHack/commit/2cda06425f the various extended fields in UnNetHack].
 +
 
 +
There are colored blank templates of the right size [https://github.com/junethack/Junethack/tree/master/icons/templates for the achievement images in the repository]. The achievement images don't need to be artistically fancy or even great (just look how some of the existing ones look like). If your skills fail you completely, you can add a request like "make it a yellow &". Simple images can be done programmatically from the Ruby scripts in the icons directory. The colors can be anything although most images follow the 16 standard terminal colors and the symbol can be almost anything due to Unicode. 
 +
 
 +
For an example which makes adding new achievements very easy, look at [https://github.com/Chris-plus-alphanumericgibberish/dNAO/blob/compat-3.21.4/junethack_trophies/trophy_descriptions.csv this CSV for dNetHack specific achievements] which contains everything needed. Adding support for trophies documented this is quite easy, as shown in [https://github.com/junethack/Junethack/commit/55f7064c4d this commit].
 +
 
 +
If possible, [https://github.com/junethack/Junethack/issues/new open up a GitHub issue] and attach your files there.
 +
 
 +
Remember, the easier it is to add your achievements, the more likely they will actually be added.
  
You could either check out the [https://reddit.com/r/nethack  NetHack subreddit], the #junethack channel on the Freenode IRC network, or the [https://discord.gg/mFNbXGy  Roguelikes discord channel].
+
[[Category:Tournaments]]

Latest revision as of 14:25, 1 June 2023

This is the official FAQ for the Junethack tournament.

Feel free to add questions and answers to this document.

General

Contact

You can reach the organizers and other players in various ways.

On the NetHack subreddit is a Junethack thread throughout the month.

There's a dedicated discord channel #nethack-junethack on the Roguelikes discord channel.

On the Libera IRC network, is a #junethack channel.

Last but not least there's the newsgroup rec.games.roguelike.nethack.

What's new in 2022?

SlashTHEM on the hardfought public servers is a variant that is returning to the tournament, after it has been last featured in the tournament of 2015.

Previous year's news are archived on this page.

I missed the start of the tournament, can I still play?

You can join the tournament right up until it ends; even if you miss the very start, there's still plenty of time to play. In fact, after signing up, any games that you played on a participating server entirely during June will retroactively become eligible for the tournament, so you can start playing now and decide whether or not to join later.

How do I play?

You play your games on one of the participating public servers. You can use your existing accounts if you like, or create a new one. Junethack then captures those games, and checks if you are eligible for trophies.

I'm not a good player

Junethack is informally known as "the tournament for players who suck at NetHack".

Consider joining a clan as all clan trophies are designed such that even a new player of NetHack is never detrimental to the clan and might even be able to contribute towards the clan score.

When does the tournament start and end?

The tournament starts at June 1st 00:00 UTC and ends on June 30th right before midnight UTC.

Registration opens usually on Monday before June 1st.

All dates in Junethack are in UTC.

What games are eligible for the tournament?

Games of NetHack and variants played on the participating public servers during June are eligible.

A game needs to have started and ended in June to be eligible.

A game will be excluded and ignored for the tournament if one of the following conditions apply:

- it's a special game mode like e.g. explore mode, wizard mode, etc. 
- it's a startscummed game (currently defined as escaping or quitting within the first 10 turns)
- it's an elven Anachrononaut

These are the only restrictions. For example, Gnollhack games are not filtered by difficulty.

Why aren't the achievements from my game showing up on the scoreboard or being announced in IRC?

Typically, this is because your game hasn't ended yet, or has ended very recently. Junethack operates by reading games' xlogfiles, which only record a game after it is complete. Additionally, it only checks periodically for new data, rather than constantly, so there may be a lag of several minutes before a completed game is registered.

My login from last year doesn't work

Junethack starts each year with a clean setup. You need to re-register your login every year.

Achievements / Trophies

Medusa kills

Only one kill per game counts towards the "Medusa kill" clan trophy

Most variant/trophy or ascended variant/role/race/alignment/gender combinations

If two clan members both get the same sets of trophies in the same variants, the trophies only count once towards the clan trophies.

But as a clan member can at any time leave and join a different clan, it's not necessarily redundant to have several clan members claiming the same trophies.

Clans

How do I join a clan?

You need to be invited by a clan admin. You see clan invitations at the bottom of your administration page after you login.

The clan admin is listed on the Junethack clan page.

Where can I find other players?

You could either check out the NetHack subreddit, the #junethack channel on the Libera IRC network, or the Roguelikes discord channel.

Variant developer information

What is needed for my variant to be included in Junethack?

You need to have a public server on which your variant is installed and can be played online.

The public server needs to have a xlogfile (included and enabled by default in NetHack since 3.6.0) that is accessible from the web.

The user configs needs to be accessible from the web as well for verification purposes.

Not required but nice to have is if the URL of the dumplogs on your public server can be deduced from the xlogfile data so that they can be linked from the Junethack site. Most public servers use a combination of game starting time in unix epoch time and the player name.

New trophies and achievements

A trophy or achievement in Junethack needs a winning condition, a small image (54 by 54 pixels), a name, and a description. Your variant needs to encode the winning condition unambiguously in the xlogfile.

The 12 classic xlogfile conditions (ascended, entered Astral Plane, entered Elemental Planes, obtained the Amulet of Yendor, performed the Invocation Ritual, obtained the Book of the Dead, obtained the Bell of Opening, obtained the Candelabrum of Invocation, entered Gehennom, defeated Medusa, obtained the luckstone from the Mines, obtained the Sokoban Prize) are already encoded in the standard xlogfile and need no extra code.`

Historically, achievements were encoded in bitfields in the xlogfile patch. This is rather cumbersome and errorprone to decode, even more so if you consider the different variants that might use the same bits for different conditions. Look at achieveX or conductX in NetHack 3.7, or the various extended fields in UnNetHack.

There are colored blank templates of the right size for the achievement images in the repository. The achievement images don't need to be artistically fancy or even great (just look how some of the existing ones look like). If your skills fail you completely, you can add a request like "make it a yellow &". Simple images can be done programmatically from the Ruby scripts in the icons directory. The colors can be anything although most images follow the 16 standard terminal colors and the symbol can be almost anything due to Unicode.

For an example which makes adding new achievements very easy, look at this CSV for dNetHack specific achievements which contains everything needed. Adding support for trophies documented this is quite easy, as shown in this commit.

If possible, open up a GitHub issue and attach your files there.

Remember, the easier it is to add your achievements, the more likely they will actually be added.