Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
8 changes: 4 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -249,8 +249,8 @@ The YAML format expects one object per target. When the file is stored locally i
```yaml
config:
- name: Blurite
jav_config_url: https://client.blurite.io/jav_local_227.ws
revision: 227.3
jav_config_url: https://client.blurite.io/jav_local_226.ws
revision: 236.1
modulus: d2a780dccbcf534dc61a36deff725aabf9f46fc9ea298ac8c39b89b5bcb5d0817f8c9f59621187d448da9949aca848d0b2acae50c3122b7da53a79e6fe87ff76b675bcbf5bc18fbd2c9ed8f4cff2b7140508049eb119259af888eb9d20e8cea8a4384b06589483bcda11affd8d67756bc93a4d786494cdf7b634e3228b64116d
- name: Local Test World
jav_config_url: https://example.com/jav_config.ws
Expand All @@ -262,8 +262,8 @@ If you are hosting the configuration yourself on a url and prefer a shorter docu

```yaml
- name: Blurite
jav_config_url: https://client.blurite.io/jav_local_227.ws
revision: 227.3
jav_config_url: https://client.blurite.io/jav_local_236.ws
revision: 236.1
```

Properties breakdown:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -343,7 +343,7 @@ public class LaunchBar(
) = super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus).apply {
if (value is ProxyTargetConfig) {
text =
if (value.revision != null) {
if (value.revision != null && value.revision != "latest_supported") {
"${value.name} (${value.revision})"
} else {
value.name
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,24 +4,24 @@ import net.rsprot.buffer.JagByteBuf
import net.rsprot.protocol.ClientProt
import net.rsprot.protocol.metadata.Consistent
import net.rsprox.protocol.ProxyMessageDecoder
import net.rsprox.protocol.game.outgoing.model.camera.CamLookAt
import net.rsprox.protocol.game.outgoing.model.camera.CamLookAtV1
import net.rsprox.protocol.session.Session
import net.rsprox.protocol.v223.game.outgoing.decoder.prot.GameServerProt

@Consistent
internal class CamLookAtDecoder : ProxyMessageDecoder<CamLookAt> {
override val prot: ClientProt = GameServerProt.CAM_LOOKAT
internal class CamLookAtDecoder : ProxyMessageDecoder<CamLookAtV1> {
override val prot: ClientProt = GameServerProt.CAM_LOOKAT_V1

override fun decode(
buffer: JagByteBuf,
session: Session,
): CamLookAt {
): CamLookAtV1 {
val destinationXInBuildArea = buffer.g1()
val destinationZInBuildArea = buffer.g1()
val height = buffer.g2()
val speed = buffer.g1()
val acceleration = buffer.g1()
return CamLookAt(
return CamLookAtV1(
destinationXInBuildArea,
destinationZInBuildArea,
height,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,24 +4,24 @@ import net.rsprot.buffer.JagByteBuf
import net.rsprot.protocol.ClientProt
import net.rsprot.protocol.metadata.Consistent
import net.rsprox.protocol.ProxyMessageDecoder
import net.rsprox.protocol.game.outgoing.model.camera.CamLookAtEasedCoord
import net.rsprox.protocol.game.outgoing.model.camera.CamLookAtEasedCoordV1
import net.rsprox.protocol.session.Session
import net.rsprox.protocol.v223.game.outgoing.decoder.prot.GameServerProt

@Consistent
internal class CamLookAtEasedCoordDecoder : ProxyMessageDecoder<CamLookAtEasedCoord> {
override val prot: ClientProt = GameServerProt.CAM_LOOKAT_EASED_COORD
internal class CamLookAtEasedCoordDecoder : ProxyMessageDecoder<CamLookAtEasedCoordV1> {
override val prot: ClientProt = GameServerProt.CAM_LOOKAT_EASED_COORD_V1

override fun decode(
buffer: JagByteBuf,
session: Session,
): CamLookAtEasedCoord {
): CamLookAtEasedCoordV1 {
val destinationXInBuildArea = buffer.g1()
val destinationZInBuildArea = buffer.g1()
val height = buffer.g2()
val duration = buffer.g2()
val function = buffer.g1()
return CamLookAtEasedCoord(
return CamLookAtEasedCoordV1(
destinationXInBuildArea,
destinationZInBuildArea,
height,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,18 +4,18 @@ import net.rsprot.buffer.JagByteBuf
import net.rsprot.protocol.ClientProt
import net.rsprot.protocol.metadata.Consistent
import net.rsprox.protocol.ProxyMessageDecoder
import net.rsprox.protocol.game.outgoing.model.camera.CamMoveToArc
import net.rsprox.protocol.game.outgoing.model.camera.CamMoveToArcV1
import net.rsprox.protocol.session.Session
import net.rsprox.protocol.v223.game.outgoing.decoder.prot.GameServerProt

@Consistent
internal class CamMoveToArcDecoder : ProxyMessageDecoder<CamMoveToArc> {
override val prot: ClientProt = GameServerProt.CAM_MOVETO_ARC
internal class CamMoveToArcDecoder : ProxyMessageDecoder<CamMoveToArcV1> {
override val prot: ClientProt = GameServerProt.CAM_MOVETO_ARC_V1

override fun decode(
buffer: JagByteBuf,
session: Session,
): CamMoveToArc {
): CamMoveToArcV1 {
val destinationXInBuildArea = buffer.g1()
val destinationZInBuildArea = buffer.g1()
val height = buffer.g2()
Expand All @@ -24,7 +24,7 @@ internal class CamMoveToArcDecoder : ProxyMessageDecoder<CamMoveToArc> {
val duration = buffer.g2()
val maintainFixedAltitude = buffer.gboolean()
val function = buffer.g1()
return CamMoveToArc(
return CamMoveToArcV1(
centerXInBuildArea,
centerZInBuildArea,
destinationXInBuildArea,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,25 +4,25 @@ import net.rsprot.buffer.JagByteBuf
import net.rsprot.protocol.ClientProt
import net.rsprot.protocol.metadata.Consistent
import net.rsprox.protocol.ProxyMessageDecoder
import net.rsprox.protocol.game.outgoing.model.camera.CamMoveToCycles
import net.rsprox.protocol.game.outgoing.model.camera.CamMoveToCyclesV1
import net.rsprox.protocol.session.Session
import net.rsprox.protocol.v223.game.outgoing.decoder.prot.GameServerProt

@Consistent
internal class CamMoveToCyclesDecoder : ProxyMessageDecoder<CamMoveToCycles> {
override val prot: ClientProt = GameServerProt.CAM_MOVETO_CYCLES
internal class CamMoveToCyclesDecoder : ProxyMessageDecoder<CamMoveToCyclesV1> {
override val prot: ClientProt = GameServerProt.CAM_MOVETO_CYCLES_V1

override fun decode(
buffer: JagByteBuf,
session: Session,
): CamMoveToCycles {
): CamMoveToCyclesV1 {
val destinationXInBuildArea = buffer.g1()
val destinationZInBuildArea = buffer.g1()
val height = buffer.g2()
val duration = buffer.g2()
val maintainFixedAltitude = buffer.gboolean()
val function = buffer.g1()
return CamMoveToCycles(
return CamMoveToCyclesV1(
destinationXInBuildArea,
destinationZInBuildArea,
height,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,24 +4,24 @@ import net.rsprot.buffer.JagByteBuf
import net.rsprot.protocol.ClientProt
import net.rsprot.protocol.metadata.Consistent
import net.rsprox.protocol.ProxyMessageDecoder
import net.rsprox.protocol.game.outgoing.model.camera.CamMoveTo
import net.rsprox.protocol.game.outgoing.model.camera.CamMoveToV1
import net.rsprox.protocol.session.Session
import net.rsprox.protocol.v223.game.outgoing.decoder.prot.GameServerProt

@Consistent
internal class CamMoveToDecoder : ProxyMessageDecoder<CamMoveTo> {
override val prot: ClientProt = GameServerProt.CAM_MOVETO
internal class CamMoveToDecoder : ProxyMessageDecoder<CamMoveToV1> {
override val prot: ClientProt = GameServerProt.CAM_MOVETO_V1

override fun decode(
buffer: JagByteBuf,
session: Session,
): CamMoveTo {
): CamMoveToV1 {
val destinationXInBuildArea = buffer.g1()
val destinationZInBuildArea = buffer.g1()
val height = buffer.g2()
val speed = buffer.g1()
val acceleration = buffer.g1()
return CamMoveTo(
return CamMoveToV1(
destinationXInBuildArea,
destinationZInBuildArea,
height,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,19 +3,19 @@ package net.rsprox.protocol.v223.game.outgoing.decoder.codec.misc.client
import net.rsprot.buffer.JagByteBuf
import net.rsprot.protocol.ClientProt
import net.rsprox.protocol.ProxyMessageDecoder
import net.rsprox.protocol.game.outgoing.model.misc.client.UpdateRebootTimer
import net.rsprox.protocol.game.outgoing.model.misc.client.UpdateRebootTimerV1
import net.rsprox.protocol.session.Session
import net.rsprox.protocol.v223.game.outgoing.decoder.prot.GameServerProt

internal class UpdateRebootTimerDecoder : ProxyMessageDecoder<UpdateRebootTimer> {
override val prot: ClientProt = GameServerProt.UPDATE_REBOOT_TIMER
internal class UpdateRebootTimerDecoder : ProxyMessageDecoder<UpdateRebootTimerV1> {
override val prot: ClientProt = GameServerProt.UPDATE_REBOOT_TIMER_V1

override fun decode(
buffer: JagByteBuf,
session: Session,
): UpdateRebootTimer {
): UpdateRebootTimerV1 {
val gameCycles = buffer.g2Alt3()
return UpdateRebootTimer(
return UpdateRebootTimerV1(
gameCycles,
)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,21 +4,21 @@ import net.rsprot.buffer.JagByteBuf
import net.rsprot.protocol.ClientProt
import net.rsprot.protocol.metadata.Consistent
import net.rsprox.protocol.ProxyMessageDecoder
import net.rsprox.protocol.game.outgoing.model.misc.player.SetMapFlag
import net.rsprox.protocol.game.outgoing.model.misc.player.SetMapFlagV1
import net.rsprox.protocol.session.Session
import net.rsprox.protocol.v223.game.outgoing.decoder.prot.GameServerProt

@Consistent
internal class SetMapFlagDecoder : ProxyMessageDecoder<SetMapFlag> {
override val prot: ClientProt = GameServerProt.SET_MAP_FLAG
internal class SetMapFlagDecoder : ProxyMessageDecoder<SetMapFlagV1> {
override val prot: ClientProt = GameServerProt.SET_MAP_FLAG_V1

override fun decode(
buffer: JagByteBuf,
session: Session,
): SetMapFlag {
): SetMapFlagV1 {
val xInBuildArea = buffer.g1()
val zInBuildArea = buffer.g1()
return SetMapFlag(
return SetMapFlagV1(
xInBuildArea,
zInBuildArea,
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -105,11 +105,11 @@ public enum class GameServerProt(
CAM_SHAKE(GameServerProtId.CAM_SHAKE, 4),
CAM_RESET(GameServerProtId.CAM_RESET, 0),
CAM_SMOOTHRESET(GameServerProtId.CAM_SMOOTH_RESET, 4),
CAM_MOVETO(GameServerProtId.CAM_MOVETO, 6),
CAM_MOVETO_CYCLES(GameServerProtId.CAM_MOVETO_CYCLES, 8),
CAM_MOVETO_ARC(GameServerProtId.CAM_MOVETO_ARC, 10),
CAM_LOOKAT(GameServerProtId.CAM_LOOKAT, 6),
CAM_LOOKAT_EASED_COORD(GameServerProtId.CAM_LOOKAT_EASED_COORD, 7),
CAM_MOVETO_V1(GameServerProtId.CAM_MOVETO_V1, 6),
CAM_MOVETO_CYCLES_V1(GameServerProtId.CAM_MOVETO_CYCLES_V1, 8),
CAM_MOVETO_ARC_V1(GameServerProtId.CAM_MOVETO_ARC_V1, 10),
CAM_LOOKAT_V1(GameServerProtId.CAM_LOOKAT_V1, 6),
CAM_LOOKAT_EASED_COORD_V1(GameServerProtId.CAM_LOOKAT_EASED_COORD_V1, 7),
CAM_ROTATEBY(GameServerProtId.CAM_ROTATEBY, 7),
CAM_ROTATETO(GameServerProtId.CAM_ROTATETO, 7),
CAM_MODE(GameServerProtId.CAM_MODE, 1),
Expand Down Expand Up @@ -154,7 +154,7 @@ public enum class GameServerProt(
// Misc. player state packets
UPDATE_RUNWEIGHT(GameServerProtId.UPDATE_RUNWEIGHT, 2),
UPDATE_RUNENERGY(GameServerProtId.UPDATE_RUNENERGY, 2),
SET_MAP_FLAG(GameServerProtId.SET_MAP_FLAG, 2),
SET_MAP_FLAG_V1(GameServerProtId.SET_MAP_FLAG_V1, 2),
SET_PLAYER_OP(GameServerProtId.SET_PLAYER_OP, Prot.VAR_BYTE),
UPDATE_STAT_V2(GameServerProtId.UPDATE_STAT_V2, 7),
UPDATE_STAT_V1(GameServerProtId.UPDATE_STAT_V1, 6),
Expand All @@ -171,7 +171,7 @@ public enum class GameServerProt(
// Misc. client state packets
HINT_ARROW(GameServerProtId.HINT_ARROW, 6),
RESET_ANIMS(GameServerProtId.RESET_ANIMS, 0),
UPDATE_REBOOT_TIMER(GameServerProtId.UPDATE_REBOOT_TIMER, 2),
UPDATE_REBOOT_TIMER_V1(GameServerProtId.UPDATE_REBOOT_TIMER_V1, 2),
SET_HEATMAP_ENABLED(GameServerProtId.SET_HEATMAP_ENABLED, 1),
MINIMAP_TOGGLE(GameServerProtId.MINIMAP_TOGGLE, 1),
SERVER_TICK_END(GameServerProtId.SERVER_TICK_END, 0),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ internal object GameServerProtId {
const val REFLECTION_CHECKER = 0
const val UPDATE_ZONE_FULL_FOLLOWS = 1
const val LOGOUT = 2
const val UPDATE_REBOOT_TIMER = 3
const val UPDATE_REBOOT_TIMER_V1 = 3
const val CLANSETTINGS_DELTA = 4
const val IF_SETPLAYERMODEL_BASECOLOUR = 5
const val SYNTH_SOUND = 6
Expand All @@ -20,7 +20,7 @@ internal object GameServerProtId {
const val MESSAGE_FRIENDCHANNEL = 16
const val UPDATE_ZONE_PARTIAL_ENCLOSED = 17
const val MESSAGE_PRIVATE_ECHO = 18
const val SET_MAP_FLAG = 19
const val SET_MAP_FLAG_V1 = 19
const val NPC_INFO_SMALL_V4 = 20
const val HISCORE_REPLY = 21
const val LOC_ANIM = 22
Expand All @@ -37,7 +37,7 @@ internal object GameServerProtId {
const val SET_HEATMAP_ENABLED = 33
const val URL_OPEN = 34
const val IF_MOVESUB = 35
const val CAM_LOOKAT_EASED_COORD = 36
const val CAM_LOOKAT_EASED_COORD_V1 = 36
const val NPC_HEADICON_SPECIFIC = 37
const val OBJ_ADD = 38
const val CAM_SHAKE = 39
Expand Down Expand Up @@ -69,7 +69,7 @@ internal object GameServerProtId {
const val SITE_SETTINGS = 65
const val MAP_PROJANIM_V1 = 66
const val OBJ_ENABLED_OPS = 67
const val CAM_MOVETO = 68
const val CAM_MOVETO_V1 = 68
const val LOGOUT_WITHREASON = 69
const val VARCLAN = 70
const val CAM_MODE = 71
Expand Down Expand Up @@ -100,7 +100,7 @@ internal object GameServerProtId {
const val IF_CLOSESUB = 96
const val RESET_ANIMS = 97
const val REBUILD_NORMAL = 98
const val CAM_LOOKAT = 99
const val CAM_LOOKAT_V1 = 99
const val IF_SETNPCHEAD = 100
const val UPDATE_INV_PARTIAL = 101
const val IF_SETANIM = 102
Expand All @@ -121,10 +121,10 @@ internal object GameServerProtId {
const val PLAYER_ANIM_SPECIFIC = 117
const val PROJANIM_SPECIFIC_V2 = 118
const val SET_PLAYER_OP = 119
const val CAM_MOVETO_CYCLES = 120
const val CAM_MOVETO_CYCLES_V1 = 120
const val REBUILD_REGION = 121
const val IF_SETHIDE = 122
const val CAM_MOVETO_ARC = 123
const val CAM_MOVETO_ARC_V1 = 123
const val VARCLAN_ENABLE = 124
const val CAM_TARGET_V2 = 125
const val HINT_ARROW = 126
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,24 +4,24 @@ import net.rsprot.buffer.JagByteBuf
import net.rsprot.protocol.ClientProt
import net.rsprot.protocol.metadata.Consistent
import net.rsprox.protocol.ProxyMessageDecoder
import net.rsprox.protocol.game.outgoing.model.camera.CamLookAt
import net.rsprox.protocol.game.outgoing.model.camera.CamLookAtV1
import net.rsprox.protocol.session.Session
import net.rsprox.protocol.v224.game.outgoing.decoder.prot.GameServerProt

@Consistent
internal class CamLookAtDecoder : ProxyMessageDecoder<CamLookAt> {
override val prot: ClientProt = GameServerProt.CAM_LOOKAT
internal class CamLookAtDecoder : ProxyMessageDecoder<CamLookAtV1> {
override val prot: ClientProt = GameServerProt.CAM_LOOKAT_V1

override fun decode(
buffer: JagByteBuf,
session: Session,
): CamLookAt {
): CamLookAtV1 {
val destinationXInBuildArea = buffer.g1()
val destinationZInBuildArea = buffer.g1()
val height = buffer.g2()
val speed = buffer.g1()
val acceleration = buffer.g1()
return CamLookAt(
return CamLookAtV1(
destinationXInBuildArea,
destinationZInBuildArea,
height,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,24 +4,24 @@ import net.rsprot.buffer.JagByteBuf
import net.rsprot.protocol.ClientProt
import net.rsprot.protocol.metadata.Consistent
import net.rsprox.protocol.ProxyMessageDecoder
import net.rsprox.protocol.game.outgoing.model.camera.CamLookAtEasedCoord
import net.rsprox.protocol.game.outgoing.model.camera.CamLookAtEasedCoordV1
import net.rsprox.protocol.session.Session
import net.rsprox.protocol.v224.game.outgoing.decoder.prot.GameServerProt

@Consistent
internal class CamLookAtEasedCoordDecoder : ProxyMessageDecoder<CamLookAtEasedCoord> {
override val prot: ClientProt = GameServerProt.CAM_LOOKAT_EASED_COORD
internal class CamLookAtEasedCoordDecoder : ProxyMessageDecoder<CamLookAtEasedCoordV1> {
override val prot: ClientProt = GameServerProt.CAM_LOOKAT_EASED_COORD_V1

override fun decode(
buffer: JagByteBuf,
session: Session,
): CamLookAtEasedCoord {
): CamLookAtEasedCoordV1 {
val destinationXInBuildArea = buffer.g1()
val destinationZInBuildArea = buffer.g1()
val height = buffer.g2()
val duration = buffer.g2()
val function = buffer.g1()
return CamLookAtEasedCoord(
return CamLookAtEasedCoordV1(
destinationXInBuildArea,
destinationZInBuildArea,
height,
Expand Down
Loading
Loading