29 Commits

Author SHA1 Message Date
ipkpjersi 7f1dc47c98 Fixed drawing plane higher than 0 (#662) 2024-12-28 13:56:17 +00:00
ipkpjersi 45b85d728f Updated login server error message (#663) 2024-12-28 13:55:03 +00:00
ipkpjersi 0120892521 Added automatic screenshots (#657)
* Added automatic screenshots

This branch is based off of the screenshots branch, but it will also require the develop branch to be merged first to not cause a git conflict with adding more QoL options to ClientSettings.java, so we'll want to pull the develop branch onto this branch eventually (or, I suppose, the master branch after it's merged).

In other words, we can add 2 new QoL settings to ClientSettings at a later time (after my develop branch fixes/improvements PR is merged).

* Fixed params for auto screenshots

* Added auto screenshots toggle

* Fixed auto screenshots var typo
2024-09-21 04:14:45 +01:00
ipkpjersi fd731242dd Added Screenshots (#656)
* Added ability to take screenshots

Since we have a screenshots folder in the 2006Scape folder in the home path, we might as well make use of it.

* Removed duplicate screenshot warning message

We don't need a warning message for duplicate screenshots, if it takes screenshots that's good enough.

* Added subfolders option for screenshots

This allows for much more flexibility when it comes to screenshots because we can choose any number of levels of subfolders.

* Removed unused code

* Added check for screenshots

* Fixed screenshots NPE when logged out

* Added Local to titlebar when running locally

* Added sendMessage param for screenshots

* Default to send messages for screenshots

* Use the sendMessage variable

Oops lol

* Added ability to take screenshots

Since we have a screenshots folder in the 2006Scape folder in the home path, we might as well make use of it.

* Removed duplicate screenshot warning message

We don't need a warning message for duplicate screenshots, if it takes screenshots that's good enough.

* Added subfolders option for screenshots

This allows for much more flexibility when it comes to screenshots because we can choose any number of levels of subfolders.

* Removed unused code

* Added check for screenshots

* Fixed screenshots NPE when logged out

* Added Local to titlebar when running locally

* Added sendMessage param for screenshots

* Default to send messages for screenshots

* Use the sendMessage variable

Oops lol

* Added screenshots QOL option

* Use server name var for screenshots
2024-09-21 02:30:53 +01:00
ipkpjersi cad090d8fe Various fixes and improvements (#640)
* Added more client settings for winter and hide roofs

* Removed unnecessary local var and added Javadoc comment

* Fixed dark wizards casting magic in melee range

* Added AttackType enum

* Removed extra asterisk

* Removed attackType magic numbers

* Enabled snow toggles by default

* Combined snow month into one variable

* Added option for fixes without custom settings

Added option for fixes (and QoL tab) without overriding specific features.

* Added more main args

* Fixed typo

* Added player sound saving

We have it for music, so why not for sounds too?

* Fixed typos

* Added closed client exception to ignores

* Fixed NPC definitions not loading

* Replaced NPC definitions XML with JSON

* Replaced NPCDefinition Array with HashMap

* Use err for early exit output

* Fixed KQ death causing client crash

It had the wrong anims.

* Added zoom level to debug info

* Added zoom level messages option

* Added fire breath attack type enum

* Replaced remaining fire breath attack types

* Fixed client lag

This should technically not be necessary, but it's more of a workaround due to server inefficiencies (if you kill a bunch of cows, your client will start to lag and you will even stack hits, I suspect it's due to the ground items) until we fix the server inefficiencies. There's not really any downsides in changing this from 5 to 100, so it's a good change for now.

* Make definitions private

* Fixed dark wizards not attacking back

* Improved comments

* Removed extra giant mole spawns

* Added mole lair rope action

* Only send yes chat head when talking to NPC

* Fixed removing item does not reset autocast

* Fixed picking up stackable items with full inv

* Fixed lvl 7 dark wizard anims

* Added confirm param to xprate command and fixed players command

* Removed usages of Misc.println

This hides which file the println is actually called from, so it's actually better to remove this helper.

* Don't move player when clicking on barrows check

This is both unauthentic and unnecessary.

* Removed unnecessary commented out code

We don't even need it commented out tbh.

* Fixed incorrect barrows NPC attack anims

* Improved slayer points message

* Fixed slayer task message cut off

* Might as well make this naming consistent

* Fixed typo

* Fixed stronghold slayer dungeon getting stuck in wall

* Require control key for zooming

It's too easy to accidentally zoom in/out with the scroll wheel, so let's make it so you need the control key held to scroll wheel zoom in/out.

* Added option for control key zooming

This way, it's off by default so it works the way it always did by default.

* Added alias for control key zoom

* Fixed quest interface not emptying out completely

* Updated slayer point dialogue to be more accurate

* Fixed compile error

* Fixed formatting

* More formatting fixes

* Added 5th click object handling (fixes pick-lock crash)

* Fixed lower level NPCs always hitting 0

* Fixed NPCs having incorrect max hit

Chickens were hitting 3's, ouch...

* Fixed NPCs still hitting 0s

This is much better now. Combat feels good.

* Fixed boss max hits

* Fixed al-kharid gate talking option

* Copied over max hits from spawns.json to npcDefinitions.json

This fixes a lot of NPCs. Many NPCs already seem to be correct.

* Added workaround preventing players stuck in level 28 wildy

* Changed comment to TODO

* Added control key zoom toggle

* Extracted config option to ClientSettings

* added message for control key zooming
2024-09-21 01:30:57 +01:00
Josh Shippam af7ae6185e Tag QoL Changes in ClientSettings.java With @QoL (#625) 2023-02-24 19:28:28 +00:00
Josh Shippam 572c80b32e Fix Parabot Keyboard Input (#610) 2023-02-07 04:12:36 +00:00
Pazaz 9c5ea6ec1d Merge pull request #608
* fix: Remove Oracle JRE dependency for sound effects
2023-02-07 02:06:54 +00:00
Josh Shippam 67efff663e Fix GroundItem Value Setting (#590) 2023-02-06 02:47:11 +00:00
Josh Shippam 64f9654377 Changes to make Updating the Live Server easier (#589)
* Update Default Server IP to Live

* Add RSAKeyGen.java
2023-02-06 02:11:31 +00:00
Josh Shippam c42dc29f73 Only Enable Custom Settings Tab If "-qol/-fixes" Arg Is Used (#575) 2023-02-03 00:30:56 +00:00
Josh Shippam da8471673f JFrame Links to Vars & Add Some Args (#561)
* Changed JFrame Links to Variables in ClientSettings.java
* -qol/-fixes sets true BILINEAR_MINIMAP_FILTERING, FIX_TRANSPARENCY_OVERFLOW & FULL_512PX_VIEWPORT
* -no-nav/-disable-nav sets false SHOW_NAVBAR
2023-01-28 23:27:03 +00:00
Pazaz 62b26c5585 Functional navbar (toggleable in ClientSettings) (#560)
* Fixed client frame offsets/padding

* Functional navbar (toggleable in ClientSettings)
2023-01-28 22:06:05 +00:00
Pazaz e517be1bfb 3 configurable graphics fixes in ClientSettings (#558) 2023-01-28 20:39:12 +00:00
Pazaz afdf369104 Fixed client frame offsets/padding (#557) 2023-01-28 20:37:33 +00:00
MatthewBishop e46b7142c3 Network cleanup (#552)
* Replaced packetType/Size with packet

* Replace Instream with Packet

Read data directly from packet to ease future network upgrade

* Update Packet.java

Removed unused methods to ease netty migration and network rewrite.

* Moved packet sizes.

* Removed unused stream methods

* Added readhex method for buttons

* preparing to replace mina

* Packet->GamePacket for refactoring

* Netty 3.6.6

* formatting

* formatting

* Apollo core

* Update net.xml

Added variables for 2006scape

* Netty 4 migration. Jagcached replaced with Apollo Core

* Porting network into apollo

* WIP Packet Changes

Do not merge. This is broken.

* Packet read methods converted to netty buffer

* Replacing game network and login with apollo

* Netty 4

* Cleanup

* Same port for update and game server.

* Cleanup login for integration with apollo

* Login works. fixing packets

* Running on apollo netcode.

* Server runs

* Update apollo-core.jar

* Disable encoder. write outstream directly to channel.

* Update RS2ProtocolDecoder.java

Added apollo decoder

* Add constant

* Synchronization not needed

* Update apollo-core.jar

* Better performance.

* Commit pre PR

* Update apollo-core.jar

* Fixup Port Binding Based On World

* Apollo files

* Additional Commit

---------

Co-authored-by: Dark98 <darkaidz98@gmail.com>
2023-01-28 05:31:19 +00:00
Josh Shippam 66a554aeeb Update README & Start Converting Java To Kotlin (#539)
* Rename .java to .kt

* DiscordBot Java -> Kotlin

* Rename .java to .kt

* ConfigLoader Java -> Kotlin

* Update ReadMe For Latest Using Parabot Locally

* Rename .java to .kt

* GameConstants Java -> Kotlin

* Add Missing "server_test_version" Field To ServerConfig.Sample.json
2023-01-26 02:15:33 +00:00
darkaidz98@gmail.com 81cd126a33 Revert Library Updates To Fix Server 2022-01-29 10:45:52 +00:00
Josh Shippam 54a3e5cdec Various Changes (#523)
* Discord Bot Update

Updated JavaCord To Latest
Changed Some Commands To No Longer Be World Specific
Added An "AdminCommands" Command

* Update Some Server Libs

* Added Purge & Pin/Un-Pin To Commands Discord Bot

* Fixed -dev & -no-crc Client Args

* Add Discord User ID Linking Support(Useless For Now)

* Added Support For User's Kicking Own Accounts Through Discord Bot

* Merge Website Integration Stuff Into One Var
2022-01-27 01:32:17 +00:00
Dark98 c5c4471a4f Added Current World To Client Title 2022-01-08 01:54:00 +00:00
Josh Shippam e1a8d85408 Second World Setup (#518)
* Start Setting Up Second World

Added World Number To Login Message
Added World Number To Login Interface
Made World 2 Listen On Different Port
Made Client Connect To 43597 For World 2

* Small Cleanup For World 2 Support

Calculate Port For World Based On World Number
Use Existing World int For World In Server

* Woops Wrong Ports

* Set Server Port After Loading Config

* Add xpRate Var & Include With XPRate Calculations

* Add -w/-world arg to client

* Add XP Rate Multiplier For Non-Bot Worlds

* More Multi World Stuff

Update Integrations(Discord Bot/Website Stuff) For Multiple Worlds
Added More XP Rate Dialogue Stuff

* Add Kick Command To Discord Bot & Fix Type In ConfigLoader

* Create/Use commandPrefix Var For Discord Bot

* Small Fixup For World 2

Renamed BOT_WORLD to VARIABLE_XP_RATE
Fixed Dialogue/Message grammar
Added a check for VARIABLE_XP_RATES to ::xprate command

* More Discord Commands(GameKick, MoveHome & Update)

*GameKick kicks A player if their client froze but acc stayed logged in
*MoveHome removes the need for ::stuck which removes potential for abuse
*Update schedules A server update

* Minor fixup

* 43597 → 43598

* Fix XP Rate Multiplier & add ::xprate to cooamnds list if enabled

* Use Either VARIABLE_SKILL_RATE OR XP_RATE Not Both

TODO(Convert Player.xpRate Into An Array For Easier Rate Changes)

* Create/Use PLAYER_XP_RATES For Easier Rate Changes

* Fixed Abusive Client Command Privileges & Added myxprate/checkxprate

* Allow Loading VARIABLE_XP_RATES & PLAYER_XP_RATES From Config

* Properly Update Client Title Logo

If The Cache Has Already Been Downloaded You Will Need To Delete It & Let The Client ReDownload It

* Fix Cache CRC Checks For The Client(Allows Cache To Actually Check For Updates)

* Add -no-crc & -dev Arguments To Client

* Fix Naming For Some Vars

* Make CHECK_CRC Description More Descriptive

* Fix More Var Descriptions

* Cleanup Unused GameConstants Vars & Add More Vars To ConfigLoader

Co-authored-by: Danial <admin@redsparr0w.com>
2021-12-31 03:47:48 +00:00
Danial d23b176a28 Make file server optional if cache already downloaded (#514)
(cherry picked from commit 669573c660)
2021-11-09 02:06:46 +00:00
Danial c1202e8989 Couple of fixups (#513)
* Show preference state

* Fixup multiple of the same item on the ground.

* Fixup combat

* Fixup yell, decrease delay

* Tidy up yell

* use jdk8

(cherry picked from commit 1fe76d739e)
2021-11-09 02:06:42 +00:00
Danial 2d8ae82086 Telekinetic grab and stuff (#508)
* tidy up

* Tidy up check for space

* Telekinetic base

* Don't allow player to pickup statue

* Tidy up item pickup

* fixup, statue spawn

* Update telekinetic grab

* 2nd option for guardian statue

* handle telegrab on statue

* Allow picking up global drops with telekinetic grab

* Check if player can see/reach item

* Update PickupItem.java

* Allow pasting into chatbox

* camera stuff

* fixup clipboard stuff

* Update PlayerAssistant.java

* Update Commands.java

* Add mazes initial

* Tidy up the clipboard pasting

* Update mazes

* Calculate new position of statue

* fixup telegrab

* More tidy up, remove constant running of container

* more tidy up..

* Handle moving statues

* remove the statue from global drops

* Update MagicOnFloorItems.java

* Show telekinetic interface

* Make public accessable

* Only show items to player that are on the same height level

* Moving statues around, Spawning

* Reward exp, points, law runes

* Show points, mazes completed

* Add comment

* Add observable statue (still needs work)

* Fixup where camera focuses

* Load items when player changes level

* Graveyard base

* Add a couple more checks

* Update Player.java

* Update Commands.java

* Make sure statue is visible when player appears at maze

* [Mage training arena] Graveyard

* Update MageTrainingArena.java

* Update MageTrainingArena.java

* Update ItemHandler.java
2021-10-05 04:01:16 +01:00
Danial 865ef4ed29 Process client arguments, Auto login option (#506)
* Process client arguments, Auto login

1st argument = server IP
2nd argument = username
3rd argument = password

* Simplify

* Fixup server XP rate
2021-10-02 17:38:17 +00:00
Danial bbe1587e20 Mage Training Arena and stuff (#504)
* Fixup door/stairs in mage training arena

* Fixup bedsheets, should be worn on head, not weapon slot

* [Mage Training Arena] spawn rewards guardian

* [Mage Training Arena] Add arena teleports (non functioning)

* Just adding some comments

* [Mage Training Arena] Basic mage training arena stuff

* [Mage Training Arena] Allow shop to open and show items correctly

* [Mage Training Arena] Show shop prices when clicked

* noclip

* [Mage Training Arena] Add 2nd option handler (filler)

* [Mage Training Arena] Be able to purchase stuff, lock bones to peaches

* Update MageArena.java

* [Mage Training Arena] setup boundary

* Readability

* Tidy up enchanting

* MageArena -> MageTrainingArena

* Create Alchemy.java

* Update RSInterface.java

* [Mage Training Arena] Spawn entrance npcs

* [Mage Training Arena] Initial Alchemy

* [Mage Training Arena]  Add comments

* [Mage Training Arena] Handle alchemy while in arena

* [Mage Training Arena] Show interface for alchemy room

* [Mage Training Arena] Display values, Search cupboards

* [Mage Training Arena] Don't allow the player to wear items from the Alchemy game

* [Mage Training Arena] Announce when items are changing

* Don't allow the player to bring any coins with them

* Sort by values

* [Mage Training Arena] Allow alching items etc

* Update method name

* Show magic tab after using alch even if can't alch

* [Mage Training Arena] Coin collector - temp

* [Mage Training Arena] Give player points, take items, add bonus xp, add bank items

* [Mage Training Arena] Remove items when player leaves the alchemy training area

* Fixup staffs for runes, Tidy up checks

Was missing all Mystic staff
2021-09-30 22:25:48 +01:00
Danial 8589277ece Implement Party Room, A bunch of client side changes, Other stuff (#503)
* Fixup Discord links

* Fix required level to chop Dramen tree

* More Discord link fixes

* Show bots as (store)

* Fixup port

move to port 8080 as used by file server

* Fixup report handler

* Some client changes

* minor changes

Show mod status

* Show item value on ground

* Mark stores and players differently on mini map

* Some tidy up

* default to world 1

* Update trade with text

* revert nodeID changes

* Update RS Guide name

* Remove some command aliases

* Log bots and players differently

* Fixup

* minor changes

* Fixup colors

* Update RSInterface.java

* Settings for controlling options

* Add memory command

* Update server skill magic numbers

* Update server skill magic numbers

* Update colors for ground item text

* Update .gitignore

* Update player health value more often

* Add in game item/NPC/object search

* Item amounts and value displayed

* Update examine text

* Start with volume off

* Fixup tab 7 still showing with other interfaces

* Fixup search

* Fixup entering numbers after letter in amounts

* minor fixup

* fix indentation

* change type of value

* Fixup values shown

* Fix when clicking while tab 7 open

* Fixup negative amounts

* Update some method names

* Fixup method name

* tidy up method values

* Initial move for overlays

* Update more method names, variables

* Update debug menu

* Update experience info area

* Update Signlink.java

* more refactoring/deob

* Tidy up

* refresh skills

* Update method name, debug display

* fixup

* Show wrench icon on custom settings tab

* alignment

* Modify zoom

* Use smaller numbers for exp/h

* Update interface command

* tidy up

* Fixup tele location

* Fixup if interface doesn't exist

* Add some interface options

* Update checks

* Open bank interface for item search

TODO:
change title
maybe not display in chat
change options for items?
change command to searchitem - open the bank interface, open a text input interface

* re-fix

* Show open interface ID

* Update bank string shown

* Update search function

* Scroll zooming

* Only fill chat with search if not searching for an item

* add comments

* Change system update message

* Remove fps command

* Increase draw distance

* fixup

* Draw distance option

* [Party Room] Fix party room stairs

* Add new free slots method to check for stackable items counting as a free slot

* [Party Room] Deposit/Withdraw items all working

* [Party Room] Fully working

* [Party Room] Don't spawn balloons on the table

Players cannot pickup the items

* Fixup boundary

* Drop items in random amounts up to 4 stacks

* Update swampy boat to work

* Minor fixup

* Update Game.java

* Move player name up slightly

* Update some naming

* Tidy up

* Add ectoplasm agility shortcuts

* Update ObjectsActions.java

* Ectofuntus stuff

* fixup

* Ectofuntus bone grinder get status

* auto worship

* Allow claiming ecto-tokens

* change variable

* fixup

* Make use of GameConstants.WORLD

* Randomize bot passwords

* Don't show player shops as online

* Update opening oysters

* Update GemCutting.java

* Dragontooth island transport

* Ectofuntus stuff

* More constants

* Bill teach travel to Mos Le'Harmless and back

Also able to explore the whole ship

* Use better looking buttons

* Update .gitignore
2021-09-28 23:40:34 +01:00
Danial 06b509c4d0 Update how player shop is handled (#501)
* Update how player shop is handled

* Squashed commit of the following:

commit 5be0778dc9
Author: Danial <admin@redsparr0w.com>
Date:   Sun Sep 19 14:24:12 2021 +1200

    minor fixup

commit ef3b63b54f
Author: Danial <admin@redsparr0w.com>
Date:   Sun Sep 19 14:11:27 2021 +1200

    Add docker compose file for running servers in containers

* Update DialogueHandler.java

* Fix for models out of bounds

* Revert "Squashed commit of the following:"

This reverts commit d27d3c357c.

* Other shop tidy up

Show shops as combat level 0
Remove items from shop when shop logs off
2021-09-20 13:18:40 +01:00
dark98 3bf473129d Rename & Repackage 2021-03-11 00:30:16 +00:00