No ticket, no passport, just an address!  

Statistics
General
  Users: 16421
Stargates
  Connections: 0
  Total: 464
  Milkyway: 190
  Pegasus: 107
  Forerunner: 81
  Tollan: 81
Teleporters
  Total: 3
Miscellaneous
  AFVIs: 7
 

News

     
Avatar Ash Qin

March Through May Updates

Posted by Ash Qin on

March through May has been one of those stretches where the public surface did not always show how much was moving underneath. Some of it has been tidy website work, some of it has been the kind of backend repair you only notice when it stops going wrong, and one part of it has been a project I have been working on and off for over a year, giving the Alteran Stargate Network a better way to describe where its gates actually lead.

Table of Contents

TL;DR

  • The old star map has started learning the difference between destinations, moods, and reasons to travel.
  • A new path through the network invites wandering without handing every address to you at once.
  • Randomness has learned a few manners, but it has not lost its sense of surprise.
  • One stubborn wormhole state has finally been persuaded to stop lingering after the event horizon opens.
  • Time should look a little more like your time now, which is a small mercy when comparing logs before coffee.
  • The public network is getting better at showing the places meant to be found, while quieter corners stay quieter.
  • Several old edge cases have been folded into more predictable shapes.

ASN taxonomy

This is something I have been working on-and-off for a year, there's been a lot of iteration, discarded code, as much of it didn't seem obvious when I first started out working on it.

So, what is taxonomy, the word? To put it simply, taxonomy is the branch of science concerned with classification.

Finding a Stargate by name, owner, or region is useful when you already know where you are going. That has always been the easy half of search.

The harder half is discovery.

Sometimes you do not want a specific place. You want a kind of place. Maybe you only want to visit General regions today. Maybe you are looking for a GTFO hub, a gate on the Blake Sea, or somewhere specifically suited to roleplay right now.

The new ASN taxonomy system is built for that.

Instead of every public destination being described only by a name, region, and gate address, Stargates can now carry structured labels. These labels are split into categories and tags, including:

  • Visit Style: Casual? Roleplay? ERP?
  • Destination Type: Social hub? Games? Residence? etc.
  • Region Type: mainland, private, continent specific? etc.
  • Supported Features: Experience? RLV? Voice? etc.
  • Supported Systems: 7seas, Dani Fuel, DFS Farming? etc.
  • Theme: Historical, Sci-Fi, Fantasy, Photography / Scenic etc.

That gives the website and random dialling tools enough context to understand the difference between a casual hangout, a roleplay region, a store, a sandbox, a transport hub, a scenic destination, or a practical utility stop.

This has taken a long time because the useful version of the feature is not just "add tags to gates". It needs to work with public listings, random dialling, privacy expectations, defaults, maturity filters, missing data, existing gates, region coordinates, and the fact that the ASN has years of history behind it.

I would like to give a special thank you to Karimi UwU, MajorCarter Rajal, Eris Ravenwood, and Horny Nuzzle for helping us enhance the ASN taxonomy data.

Browsing destinations

The most visible part of the taxonomy update is the new ASN browse page.

The browse page lets you filter public ASN destinations by maturity, categories, and tags, then page through matching Stargates as destination cards. It is meant to sit somewhere between the database and random dialling. It's structured enough to narrow the network down, but still exploratory enough to go wandering.

The filters are stored in the path rather than hidden away as a temporary form state. That means a filtered view can be bookmarked, shared, or returned to later.

For example, a roleplay browse view with rez and GTFO-style tags can live at a clean, shareable link such as https://www.alpha-fox.com/asn/browse/visit-style/roleplay/tags/rez-zone,gtfo/.

Browse starts from the normal public destination set. In practical terms, that means native production gates that are not buried, not offline, not limited, not shielded, allow random listing, and are otherwise suitable for public discovery.

There is still a broader view when you deliberately want it. The browse page includes a visibility option for non-public matches, so the default experience can stay useful for travellers while still giving power users and maintainers a way to inspect the wider network when needed.

There are also + Taxonomy and - Taxonomy filters. These are mainly there to help ASN Taxonomists.

  • + Taxonomy helps find destinations that have extra descriptive data.
  • - Taxonomy helps find gates that still only have their default labels.

That second one matters more than it sounds. Any new classification system has an awkward middle period where some things are lovingly described, and others are still mysterious rectangles in the database. Being able to find the gaps makes the whole thing easier to maintain.

Stargate taxonomy summaries

Each Stargate also has a taxonomy summary page. You can get to it from a Stargate's normal view page by clicking Taxonomy.

The summary shows the gate's current maturity, its effective Region Type, its category labels, and any active tags.

Not every gate will have every optional detail filled in, especially at the start. To keep summaries readable, single-choice categories can display defaults when there is no specific value set. For example:

  • Visit Style can show Casual.
  • Destination Type can show Other.
  • Region Type can show Auto Detect.

Region Type and Auto Detect

Region Type is one of the new taxonomy features.

A gate can now have an explicit Region Type, or it can use Auto Detect. When Auto Detect is used, and the system has enough coordinate data, ASN can derive an effective region type from the gate's grid position.

That lets browse and random dialling work with broader destination families, including mainland and private-region groupings, without requiring every gate to carry the same kind of manually entered description.

Auto Detect should be right in almost all cases, but not every edge of the grid is tidy. A private region can sit directly beside mainland, and in those rare cases, the automatic guess may misidentify what kind of region the gate belongs to. That is why explicit Region Type exists too, the system can do the boring work most of the time, while people can correct the awkward edge cases.

It also gives us a cleaner path forward. Owners can describe gates explicitly where that matters, while the network can still make sensible use of the data it already has.

Random dialling with filters

Plain /d random still works.

The point of taxonomy is not to turn every casual dial into homework. If you just want the old "send me somewhere" behaviour, it is still there.

The new part is that random dialling can now be narrowed with short commands:

  • /d random general asks for general destinations.
  • /d random moderate asks for moderate destinations.
  • /d random adult asks for Adult destinations.
  • /d random * opens the maturity filter to the full pool.
  • /d random mainland uses a Region Type alias.
  • /d random mainland rp combines a Region Type alias with a visit-style filter.
  • /d random moderate roleplay combines maturity and visit style.
  • /d random nodata looks for destinations without extra taxonomy data beyond defaults.

You can see a full list of Region Type Aliases on the ASN Random page, linked from "My Account".

However, it has changed a little; see the maturity rating functionality below.

That last one is mainly for Taxonomists.

Taxonomists are people who have been given trust by ASN staff to help fill out destination information across the network. If you would like to volunteer to help improve gate descriptions, please reach out to us on Discord.

It also gives Stargate teams a new purpose for organised exploring. A team can dial out with /d random nodata, see what is actually out there, and help populate the missing information so future travellers have a clearer map of the network.

This should make random dialling feel less like throwing a dart at the entire network and more like choosing the kind of adventure you are in the mood for.

Sometimes "random" means "surprise me". Sometimes it means "surprise me, but please make it roleplay friendly". The network can now tell the difference.

Maturity handling

Random-dial maturity handling is also new.

This changes the behaviour of random dialling through /d random by giving it a default maturity cap. That default starts as Current region or below. You can change it from the ASN random settings page, which is also linked under My Account, to:

  • General.
  • Moderate.
  • Adult.
  • Current region or below.

Explicit commands use the maturity you ask for. For example, /d random adult is an Adult request, and /d random * deliberately opens the maturity filter to the full pool.

Saved shortcuts also have their own filter settings. That means your normal default can stay cautious, while a specific shortcut can be broader, narrower, or aimed at a particular kind of destination.

Personal random shortcuts

Logged-in users can now create up to five personal ASN random shortcuts from the ASN random settings page, also linked under My Account.

A shortcut is a single token after /d random. For example:

/d random shopping

That token expands into the filters you saved for it.

Shortcuts can combine maturity, Visit Style, Destination Type, Region Type, Region Type alias groups, and tags. They are only random-dial shortcuts. They do not create global gate keywords, and they do not change a Stargate's own labels.

The shortcut page also shows how many Stargates currently match each saved shortcut, and the count links to the equivalent browse view. That gives you a way to preview what a shortcut is likely to pick before you use it in-world.

In other words, if your lovingly crafted /d random shopping shortcut currently matches three places, you can see that before wondering why the same few shops keep appearing. The gate is not being dramatic. It is just obeying the filter.

Directdial 2 / forced-wormhole / nox dialling fix

This has been a very long-standing issue since 1.1.3 was released.

We've implemented a fix for a particularly awkward Stargate bug affecting Directdial 2, the forced-wormhole path used when a gate skips most of the usual dialling sequence and asks the ASN server to open the connection immediately.

Forced dials could appear to work in-world, but the originating gate could remain stuck as connecting on the backend.

Once that happened, the server treated the gate as busy because, from its point of view, the gate was still halfway through opening a wormhole. Interactions would then be rejected even though the in-world object looked like it had already moved on.

The longer version is stranger, because Stargates track their state in two places.

The in-world object needs its own state for chevrons, sounds, effects, and script coordination. The backend server also tracks state so it can manage gate lookups, active connections, timeouts, API calls, and the other end of the wormhole.

For a normal dial, those two worlds move through the sequence together. For Directdial 2, the gate takes a shortcut. It asks the server to open the wormhole immediately, while the in-world scripts still expect to finish their own forced-dial animation path.

During that handoff, the backend intentionally marks both gates as connecting. That state acts as a lock while the server contacts the target gate and the scripts prepare the opening sequence.

The bug was that the forced dial could successfully open in-world, but the outgoing gate's backend row did not switch from connecting to outgoing.

Trying to simply force that state change from the server caused a different failure. The in-world scripts were still in the middle of their uninterruptible dial sequence, saw the sudden status command as invalid, and reset instead of opening cleanly.

So the live fix is deliberately careful.

The server now recognises when a Directdial 2 request is using the forced-wormhole path. It still creates the normal temporary connection state, but then quietly updates only the backend record for the originating gate to outgoing. It does not send an "you are outgoing now" command back into the in-world gate.

The object is left alone to finish the sequence it already knows how to finish.

That gives both sides what they need:

  • The backend knows the forced wormhole is active, so it stops treating the origin gate as permanently busy.
  • The in-world scripts are not interrupted during the fragile forced-dial transition.
  • The target gate can see the connection normally instead of being blocked by a stale state on the origin side.
  • Later interactions, including follow-up directdial use, should no longer get trapped behind the old connecting lock.

This is a backend compatibility workaround for deployed ASN 1.1.3 Stargates. The cleaner LSL-side fix is small, but changing live in-world script behaviour is much more difficult since it requires replacing the actual in-world Stargates.

Sometimes the least glamorous fix is the one that lets everybody keep travelling. In this case, it took five awkward kludges to get the backend and deployed in-world scripts to stop tripping over each other.

This has been a long-standing issue, and it took me years to realise I could, in fact, fix it server-side at all. It also took a lot of tracing through the space between "the wormhole is visibly open" and "the server still thinks the gate is busy", which is exactly as fun as it sounds.

Website dates and local time

Website timestamps now automatically convert to the viewer's local timezone when the page loads.

The site still sends a precise machine-readable UTC timestamp in the page. The browser then turns that into local time using the viewer's own environment.

That means a timestamp should now read as "your time" instead of making you mentally convert from the server's timezone. This applies to normal human-facing website timestamps such as gate details, connection times, and similar visible date/time fields.

If JavaScript is unavailable, the page still shows a stable UTC fallback instead of leaving the field blank.

Thanks to Paul Hexem for suggesting this feature.

Consistent website date format

The website now uses a single visible date style across updated pages. Full timestamps show the year, then the month, then the day, followed by the time in hours, minutes, and seconds.

Date-only fields use the matching shorter form: year, then month, then day.

The date portion stays in year/month/day order, so lists sort visually and are easier to compare at a glance.

The time portion follows the viewer's browser and operating-system preferences. People using a 24-hour clock should see 24-hour time, while people using AM/PM should see AM/PM.

This removes the old mixture of date formats where different pages could use different separators, ordering, or time conventions.

Public-first ASN listings

The default ASN database and browse pages now focus on Stargates that are suitable for public discovery.

By default, the ASN database and ASN browse page no longer show gates that are offline, shielded, limited, random-disabled, outside the production grid, buried, or otherwise outside the normal public visibility rules.

Default views much closer to what someone expects when browsing the live public network, active destinations that are meant to be found.

The broader view still exists when someone deliberately asks for it. The ASN database has a "Show non-public gates" option, and the ASN browse page can use its non-public visibility mode while keeping the rest of the browse filters intact.

The ASN sitemap now follows the same public visibility rules. Search engines and sitemap consumers should only be handed Stargate pages that are meant to be publicly discoverable.

This keeps hidden, offline, limited, shielded, random-disabled, buried, and other non-public destinations out of the sitemap, reducing stale or unwanted indexing while keeping public Stargate pages discoverable.

ATS Apez group access

The old Apez group access integration used by ATS has been deprecated and stubbed out.

When group-style Apez access is selected, ATS now falls back to owner-only access and explains that Apez group access is no longer supported. Existing owner, everyone, and explicit access-list behaviour remains the supported path.

The old Apez group access path was breaking ATS from functioning when that access mode was selected. The fallback keeps affected teleporters usable instead of letting obsolete group access data take them down.

Smaller fixes

Several smaller but useful fixes also landed across the website, ASN services, and API.

Remote dial owner display

A cosmetic remote-dial bug has been fixed on the website Stargate controls.

When remotely dialling a destination from the site, the command sent to the in-world gate includes information about the destination, including the destination owner's name. The bug was that this owner value could be treated as if it belonged to the source gate, making the source gate appear to have changed owner to whoever owned the gate that was dialled.

The fix keeps the destination owner information where it belongs: as part of the dial result for the target gate. The source Stargate keeps showing its real owner.

This did not transfer ownership or change permissions. It was a display/state mix-up caused by the remote dial payload.

Thanks to Paul Hexem for identifying the bug.

PHP session cleanup

Session cleanup has been fixed, so expired website session files are removed instead of slowly accumulating on disk.

The cleanup job now scans the configured PHP session directory for real session files, only considers filenames that match PHP's session-file naming pattern, and removes files older than the expected session lifetime.

It does not read session contents, and it skips unrelated files, malformed names, directories, and recent sessions.

This should stop old abandoned sessions from pointlessly filling disk space over time while leaving active and recent sessions alone.

ASN API network parameter compatibility

The public ASN lookup API had a confusing mismatch between the documentation and the implementation.

The docs described the network parameter for API 1.1 address lookups, but the API behaviour still expected the older target_network name in that path.

The API now accepts both names. New integrations should use network; target_network remains accepted as a deprecated compatibility alias, so existing callers do not break.

This was a fiddly one because the compatibility behaviour had become part of the tested reality, even though it did not match the intended documentation. The fix updates the behaviour so documented callers work, while preserving older callers that still send the legacy parameter.

Thank you to Shadoskill Heckroth for reporting the API oddness.

Sci-Fi Con

Sci-Fi Con has just started, and while it is running, we have temporarily replaced the default Stargate Hub button ("Sci-Fi Con") with Stargate Multiverse's Sci-Fi Exhibit Stargate. Come and take a look!

Final Thoughts

This update covers a lot of ground, but the shape of it is fairly simple; the network is becoming easier to explore and easier to have fun!

Taxonomy is the most visible new direction here. It should make ASN travel feel less like throwing a dart at the whole network and more like choosing a kind of adventure.

Development stats for this cycle: 88 commits, 597 files added, 1 file deleted, 719 files changed, 98,030 insertions (+), and 4,398 deletions (-).

If you spot a gate that looks oddly classified, find a random shortcut behaving strangely, or see Directdial doing anything suspicious, please let us know through Discord.

As always, thank you to everyone who reported bugs, suggested features, tested strange edge cases, or simply kept using the network while we worked through the less glamorous bits.

--Ash Qin

Permalink

     

Navigation
 
Login

Username:

Password:

Remember Me?

Register an Account

Reset your Password