Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Vulture of the Future, test server #34086

Open
4 of 5 tasks
Errant-4 opened this issue Dec 27, 2024 · 12 comments
Open
4 of 5 tasks

Vulture of the Future, test server #34086

Errant-4 opened this issue Dec 27, 2024 · 12 comments
Labels
A: Core Tech Area: Underlying core tech for the game and the Github repository. D2: Medium Difficulty: A good amount of codebase knowledge required. P2: Raised Priority: Item has a raised priority, indicating it might get increased maintainer attention. S: Requires Content PR Status: Requires a change to SS14, for which there is no open PR currently. T: New Feature Type: New feature or content, or extending existing content

Comments

@Errant-4
Copy link
Member

Errant-4 commented Dec 27, 2024

Description

As per the November 23 maintainer meeting, the following needs to be done for the test server

  • There must be multiple clear indications in the lobby that it's a test server
  • Bug report feature from ingame? (This should honestly be on every server) (Add an in-game button for reporting bugs. #7538)
  • Copy the publish workflow and make it publish master daily
  • configure master branch on RobustCDN?
  • configure Vulture watchdog to use the master branch
@github-actions github-actions bot added the S: Untriaged Status: Indicates an item has not been triaged and doesn't have appropriate labels. label Dec 27, 2024
@Errant-4
Copy link
Member Author

Errant-4 commented Dec 27, 2024

Apparently only the first two are real issues and everything else should be a simple possibly tedious but probably not tricky chore?

We can already give the server a Message of the Day that will be displayed in chat when the player enters the lobby

#33783 will also allows us to put TEST SERVER (or any other similar messaging) in the lobby title

Screenshot_2024-12-27_140923

@Errant-4 Errant-4 changed the title Vulture of the Future, (test server Vulture of the Future, test server Dec 27, 2024
@BramvanZijp
Copy link
Contributor

Will it be LRP or MRP, and will it be whitelisted or open to anybody?

@Errant-4
Copy link
Member Author

I don't think anything has been suggested beyond just changing Vulture to run on the master branch, so it would be LRP and it would not be whitelisted

@FairlySadPanda
Copy link
Contributor

Based.

For a test server I often see a banner being added to the client that says stuff like "THIS IS A TEST CLIENT" etc. Could be dismissable?

@Errant-4
Copy link
Member Author

Based.

For a test server I often see a banner being added to the client that says stuff like "THIS IS A TEST CLIENT" etc. Could be dismissable?

What would this look like, can you show a sketch? The advantage of the stuff I have shown is that it's already possible or is in PR

@crazybrain23
Copy link
Contributor

What would this look like, can you show a sketch? The advantage of the stuff I have shown is that it's already possible or is in PR

What if the commit hash was in the corner of the screen, near FPS?

@Coolsurf6
Copy link
Contributor

Could you also list the PRs that are in testing? I know test-merges were a thing in SS13. This would be stated when first joining the server and link to the PR that is in testing.

@crazybrain23
Copy link
Contributor

crazybrain23 commented Dec 29, 2024

Could you also list the PRs that are in testing? I know test-merges were a thing in SS13. This would be stated when first joining the server and link to the PR that is in testing.

The test server will still have the changelog and due to how it works it'll be up to date.

@ArtisticRoomba ArtisticRoomba added P2: Raised Priority: Item has a raised priority, indicating it might get increased maintainer attention. T: New Feature Type: New feature or content, or extending existing content D2: Medium Difficulty: A good amount of codebase knowledge required. A: Core Tech Area: Underlying core tech for the game and the Github repository. S: Requires Content PR Status: Requires a change to SS14, for which there is no open PR currently. and removed S: Untriaged Status: Indicates an item has not been triaged and doesn't have appropriate labels. labels Jan 25, 2025
@ArtisticRoomba
Copy link
Contributor

Bumping this to promote the idea of the test server again. Having an entire playerbase test out new PRs as they're merged will be a hundred times better than a comparatively short maintainer meeting glossing over 25+ new commits on staging.

Ideally the commit hash is a watermark somewhere on the screen. That way it can easily be determined exactly what commit the server is running from screenshots or videos so there isn't any ambiguity as to what the server was running.

This will allow maintainers to easily catch and revert PRs that do more harm then good. For example it was nice to have new doors but the issues should have been caught and the PR reverted until it was good for a second merge. I'd say with 80+ people playing, it would have definitely been caught.

@Errant-4
Copy link
Member Author

It was brought up that it could also be useful if the version number/commit hash was constantly displayed in a corner or something, small text. So it would automatically be there on every screenshot/recording made of the test server, for easier future handling of issues

@FairlySadPanda
Copy link
Contributor

FairlySadPanda commented Jan 29, 2025

BUG REPORTING

STEP 1

Create a IBugReporter interface and a UserBugReport struct. The IBugReporter interface needs one function, public bool Report(UserBugReport). A "NoOpBugReporter" class implements IBugReporter, and does nothing. IBugReporter should be registered in the IoCManager for the server and by default return an instance of NoOpBugReporter.

STEP 2

Collar someone to do the frontend client work. The client needs to collect basic user data alongside a subject and body of a report. DO NOT BIKESHED THIS, JUST DO THE BARE MINIMUM. Send this data over the internet to the server, and have the server form this into a UserBugReport and sent to whatever implementation of IBugReporter is in use.

STEP 3

Write an implementation of IBugReporter that posts to a Github issue tracking repo. Create a server cvar that allows for the type of IBugReporter to be changed by server owners between different strategies.

STEP 4

Write an implementation of IBugReporter that reports to Sentry.

STEP 5

Get further requirements off of admins and maintainers.

@VasilisThePikachu
Copy link
Member

VasilisThePikachu commented Jan 29, 2025

STEP 4

Write an implementation of IBugReporter that reports to Sentry.

For anyone who is gonna work on this, Sentry support does not have to be added for the initial implementation and can be applied on a later date.

IMO, it should have a basic GitHub implementation at least to

  1. Help anyone who wants to add other implementations (cough sentry. Or any other thing someone wants.)
  2. Working system that's easy to set up for now.

@lzk228 lzk228 mentioned this issue Feb 9, 2025
2 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A: Core Tech Area: Underlying core tech for the game and the Github repository. D2: Medium Difficulty: A good amount of codebase knowledge required. P2: Raised Priority: Item has a raised priority, indicating it might get increased maintainer attention. S: Requires Content PR Status: Requires a change to SS14, for which there is no open PR currently. T: New Feature Type: New feature or content, or extending existing content
Projects
None yet
Development

No branches or pull requests

7 participants