Code
Hub
Workspaces
Following
Trending
Connect
MCP
copy
Create free account
hub
/
github.com/dcrodman/archon
/ types & classes
Types & classes
113 in github.com/dcrodman/archon
⨍
Functions
570
◇
Types & classes
113
↓ 2 callers
TypeAlias
ServerType
internal/core/debug/debug.go:39
Struct
Account
internal/core/proto/archon.pb.go:102
Struct
Account
Account contains the login information specific to each registered user.
internal/core/data/account.go:11
Struct
AuthServer
AuthServer is the SHIP server implementation. This is similar to PATCH and LOGIN in that it really just exists to be a gateway. Is main responsibility
internal/ship/auth_server.go:32
Struct
AuthServer
AuthServer is the first connection point of the second "phase" for a client. Its main responsibility is to authenticate the client's username/password
internal/character/auth_server.go:25
Struct
AuthenticateAccountRequest
internal/shipgate/shipgate.pb.go:143
Struct
BBHeader
BBHeader is the header for every command sent between the server and BlueBurst clients.
internal/commands/common.go:17
TypeAlias
BBLoginError
Error codes used by the 0xE6 security/auth response.
internal/commands/common.go:24
Interface
Backend
Backend is an interface for a sub-server that handles a specific set of client interactions as part of the game flow.
internal/backend.go:11
Struct
BankItem
internal/commands/block.go:36
Struct
Block
internal/ship/auth_server.go:22
Struct
ChangeDir
Instruct the client to chdir into Dirname (one level below).
internal/commands/patch.go:48
Struct
Character
internal/core/proto/archon.pb.go:221
Struct
Character
Character is an instance of a character in one of the slots for an account.
internal/core/data/character.go:12
Struct
CharacterAck
Acknowledge a character selection from the client or indicate an error.
internal/commands/login.go:143
Struct
CharacterPreview
CharacterSummary is the common intermediate representation of a Character as it gets passed around various servers and/or stored.
internal/commands/login.go:199
Struct
CharacterRequest
internal/shipgate/shipgate.pb.go:198
Struct
CharacterSelection
internal/commands/login.go:136
Struct
CharacterSummary
Sent to the client for the selection menu and received for updating a character.
internal/commands/login.go:229
Struct
CheckFile
Request a check on a file in the client's working directory.
internal/commands/patch.go:54
Struct
ChecksumAck
Sent in response to 0x01E8 to acknowledge a checksum (really it's just ignored).
internal/commands/login.go:150
Struct
CipherPair
cmd/sniffer/sniffer.go:35
Struct
Client
Client represents a user connected through a PSOBB game client.
internal/core/client/client.go:28
Struct
ClientConfig
internal/commands/login.go:81
Struct
ClientConfig
internal/core/client/client.go:15
Struct
Config
Config contains all of the configuration options available to any of Archon's server components. Descriptions are in config.yaml.
internal/core/config.go:17
Struct
Controller
Controller is the main entrypoint for archon. It's responsible for initializing any shared resources (such as database and logging), defining the serv
internal/controller.go:23
Interface
CryptoSession
CryptoSession is an interface for the cryptographic operations required to exchange commands between a PSO game client and the server. It consists of
internal/core/client/crypto.go:11
Struct
FileChunk
Chunk of data from a file.
internal/commands/patch.go:84
Struct
FileHeader
File header for a series of file chunks.
internal/commands/patch.go:76
Struct
FileStatus
Response to CheckFile from the client with the properties of a file.
internal/commands/patch.go:61
Struct
FindCharacterResponse
internal/shipgate/shipgate.pb.go:253
Struct
FullCharacter
FullCharacter is the full dataset for one character.
internal/commands/block.go:44
Struct
GameServer
internal/ship/game_server.go:21
Struct
GetGuildcardEntriesRequest
internal/shipgate/shipgate.pb.go:363
Struct
GetGuildcardEntriesResponse
internal/shipgate/shipgate.pb.go:410
Struct
GetPlayerOptionsRequest
internal/shipgate/shipgate.pb.go:457
Struct
GetPlayerOptionsResponse
internal/shipgate/shipgate.pb.go:504
Struct
GuildcardChunk
internal/commands/login.go:172
Struct
GuildcardChunkRequest
Received from the client to request a guildcard data chunk.
internal/commands/login.go:165
Struct
GuildcardData
GuildcardData is the per-player guildcard data chunk.
internal/character/guildcards.go:4
Struct
GuildcardDataEntry
GuildcardDataEntry is the per-player friend guildcard entries.
internal/character/guildcards.go:13
Struct
GuildcardEntry
internal/core/proto/archon.pb.go:556
Struct
GuildcardEntry
internal/core/data/guildcard_entry.go:9
Struct
GuildcardHeader
Chunk header with info about the guildcard data we're about to send.
internal/commands/login.go:156
Interface
HTTPClient
===== Utils ===== HTTPClient is the interface used by generated clients to send HTTP requests. It is fulfilled by *(net/http).Client, which is suffici
internal/shipgate/shipgate.twirp.go:2785
Struct
InventoryItem
internal/commands/block.go:29
Struct
Item
internal/commands/block.go:23
Struct
LobbyList
LobbyList is the list of available lobbies in a block.
internal/commands/block.go:18
Struct
LobbyListEntry
internal/commands/block.go:11
Struct
Login
Login command sent to both the login and character servers.
internal/commands/login.go:64
Struct
LoginClientMessage
Message in a large text box, usually sent right before a disconnect.
internal/commands/login.go:236
TypeAlias
LoginPhase
LoginPhase is an identifier set by the client to distinguish the "phases" it passes though with the Character server. The client disconnects and then
internal/commands/login.go:41
Struct
MenuSelection
MenuSelection is a client command indicating a player's selection from one of the various menus, such as the ship or block list.
internal/commands/login.go:293
Struct
Options
Options command containing keyboard and joystick config, team options, etc.
internal/commands/login.go:113
Struct
PCHeader
Blueburst, PC, and Gamecube clients all use a 4 byte header to communicate with the patch server instead of the 8 byte one used by Blueburst for the o
internal/commands/common.go:11
Struct
PSOCrypt
PSOCrypt object to be used per-client for crypto.
internal/core/encryption/encryption.go:21
Struct
Packet67
internal/commands/block.go:128
Struct
ParameterChunk
internal/commands/login.go:185
Struct
ParameterHeader
Parameter header containing details about the param files we're about to send.
internal/commands/login.go:180
Struct
PatchAuthServer
PatchAuthServer exists as a first point of contact for connecting clients. We don't care about actually enforcing auth here, so its chief responsibili
internal/patch/auth_server.go:21
Struct
PatchDataServer
PatchDataServer is responsible for exchanging file metadata with game clients in order to determine whether or not the client's files match the known
internal/patch/data_server.go:24
Struct
PatchRedirect
Redirect command for patch to send character server IP.
internal/commands/patch.go:40
Struct
PatchWelcome
Welcome command with encryption vectors sent to the client upon initial connection.
internal/commands/patch.go:25
Struct
PatchWelcomeMessage
Command containing the patch server welcome message.
internal/commands/patch.go:34
Struct
PlayerOptions
internal/core/proto/archon.pb.go:675
Struct
PlayerOptions
internal/core/data/player_options.go:9
Struct
PrintPacketParams
internal/core/debug/debug.go:51
Struct
Redirect
The address of the next server; in this case, the character server.
internal/commands/login.go:105
Struct
RegisterShipRequest
internal/shipgate/shipgate.pb.go:72
Struct
ScrollMessage
Scroll message the client should display on the ship select screen.
internal/commands/login.go:268
Struct
Security
Security command (0xE6) sent to the client to indicate the state of client login.
internal/commands/login.go:94
Struct
Server
Server contains the bulk of the implementation for character management and selection. Clients are redirected here after authenticating with [AuthServ
internal/character/character_server.go:58
Struct
SetFlag
Used by the client to indicate whether a character should be recreated or updated.
internal/commands/login.go:192
Struct
Ship
internal/core/proto/archon.pb.go:23
Struct
ShipList
The list of menu items to display to the client.
internal/commands/login.go:256
Struct
ShipList
internal/shipgate/shipgate.pb.go:25
Struct
ShipListEntry
internal/commands/login.go:248
Struct
ShipMenu
List containing the available blocks on a ship.
internal/commands/login.go:275
Struct
ShipMenuEntry
Info about the available block servers.
internal/commands/login.go:281
Interface
Shipgate
================== Shipgate Interface ================== ShipgateService provides game functionality and is intended for use by ship servers serving p
internal/shipgate/shipgate.twirp.go:40
Struct
StartFileUpdate
Size and number of files that need to be updated.
internal/commands/patch.go:69
TypeAlias
Tag
Used with Clients to attach debugging information.
internal/core/debug/debug.go:35
Struct
Timestamp
Indicate the server's current time.
internal/commands/login.go:243
Interface
TwirpServer
TwirpServer is the interface generated server structs will support: they're HTTP handlers with additional methods for accessing metadata about the ser
internal/shipgate/shipgate.twirp.go:2793
Struct
UpsertCharacterRequest
internal/shipgate/shipgate.pb.go:308
Struct
UpsertPlayerOptionsRequest
internal/shipgate/shipgate.pb.go:559
Struct
Welcome
Welcome command with encryption vectors sent to the client upon initial connection.
internal/commands/login.go:31
Struct
args
internal/core/bytes/util_test.go:12
Struct
args
internal/core/client/client_test.go:155
Struct
blowfishCipher
A blowfishCipher is an instance of Blowfish encryption using a particular key.
internal/core/encryption/bb.go:14
Struct
blueBurstCryptSession
internal/core/client/crypto.go:28
Struct
decompressor
internal/core/prs/decompress.go:4
Struct
directoryNode
directoryNode is a tree structure for holding patch data that more closely represents a file hierarchy and makes it easier to handle the client workin
internal/patch/files.go:65
Struct
fileEntry
fileEntry instances contain metadata about a patch file.
internal/patch/files.go:51
Struct
frontend
frontend implements the concurrent client connection logic. Data is read from any connected clients and passed to a backend instance, abstracting the
internal/frontend.go:29
Struct
internalWithCause
internalWithCause is a Twirp Internal error wrapping an original error cause, but the original error message is not exposed on Msg(). The original err
internal/shipgate/shipgate.twirp.go:3119
TypeAlias
multiDefinitionCommand
Janky (and simple) method of associating command types with Archon's representation of their implementations. Of course whenever new command types are
internal/core/debug/packet_types.go:16
Struct
parameterEntry
Struct for caching the parameter chunk data and header so that the param files aren't re-read every time.
internal/character/param_files.go:55
Struct
pcCipher
internal/core/encryption/pc.go:15
next →
1–100 of 113, ranked by callers