Repository for the Server + Management Server for 2009scape, an open source RS2 remake.
Find a file
Daniel Ginovker bad68d296c [Needs Further Testing] Hardcore Iron Man Mode, Changing or De-Ironing at Hans, Some other Dialogue adjustments (#90)
* Added Iron/DeIron Dialogues
Reorganized the chat dialogue so more content was on a "second page"
fixed a couple typos regarding exp multiplier (Hans says 15 when it should say 10?)

* Added Hardcore and Hardcore_dead ironmanmodes

* Added Hardcore ironman and hardcore_dead ironman to the player count
Possibly fixed an issue where it would count Ultimate ironman as both an ultimate ironman AND a standard ironman.
Changed the player count sentence to incorporate hardcore ironman mode

* Changed the Ultimate Iron death to announcing a Hardcore ironman death

* When an Hardcore Ironman dies, the stats page will update with HARDCORE_DEAD and the XP will no longer increase

* Added Hardcore ironman mode as a mode in the dialogue
changed ultimate ironman to a grey-white text, might not be legible.

* moved TotalSkillXP from HighscoreSQLHandler.java to Skills.java
Indented a ton of methods

* Added Hardcore Iron Man Mode as an option
Added //TODO to add HCIM logo

* Added a integer to count Hardcore Iron Man deaths
Added two methods to set and get the value of the HCIM death
Added HCIM death to the Player's saved data
Added it to buffer (if this was not done, the player would be sent back to tutorial island)

* Added Check to see if the player has died previously on HCIM.
Added separate SQL entry to execute specific SQL if the player passes that check.

* Changed the UIM check in finalizeDeath to HCIM
Changed the check to use .equals() rather than checkRestriction(), preventing UIMs from being affected
Added additional code to handle what happens to a player who has died in HCIM mode.

* Added counts to support HCIM mode
Changed all checkRestrictions() to getMode.equals() (avoids multiple counts)
Adjusted the player count message to include IM, HCIM, and UIM.

* Added HCIM in the Iron Man explanation
Added HCIM as an option to choose an Iron Man
Recoloured the UIM text as a grey-white
Coloured HCIM as the dark red colour UIM was
Added the hardcoreDeath value to 0

* Added a ton of dialogue for Iron Man mode
Added the ability to change ironman mode
Added the ability to remove ironman mode
Added some checks to see if the player was too high level or had too many quest points to change Iron man mode
Added some checks to see if the player has died as an iron man
Added check to see if player has an empty bank when changing to uim
Changed some case numbers around

* Added a ton of dialogue for Iron Man mode
Added the ability to change ironman mode
Added the ability to remove ironman mode
Added some checks to see if the player was too high level or had too many quest points to change Iron man mode
Added some checks to see if the player has died as an iron man
Added check to see if player has an empty bank when changing to uim
Changed some case numbers around
Added a comment to denote a possibly unnecessary line of code

* Added a ton of dialogue for Iron Man mode
Added the ability to change ironman mode
Added the ability to remove ironman mode
Added some checks to see if the player was too high level or had too many quest points to change Iron man mode
Added some checks to see if the player has died as an iron man
Added check to see if player has an empty bank when changing to uim
Changed some case numbers around
Added a comment to denote a possibly unnecessary line of code
Added some Facial Expressions

* Added some dialogue for HCIM mode
Tweaked some Dialogue code
Changed some case numbers around
Added a comment to denote a possibly unnecessary line of code
Added some Facial Expressions

* changed setHardcoreDeath as true to represent the change to a boolean variable

* changed setHardcoreDeath as false to represent the change to a boolean variable
removed comment about unnecessary line as I think it is now necessary

* Changed everything regarding hardcore death to boolean format

* changed the check to true rather than 1 to reflect the boolean format change

* changed the check to true rather than 1 to reflect the boolean format change
2020-02-22 23:24:58 -05:00
.idea New Accounts will now automatically join the 2009Scape clan chat (#60) 2020-01-20 21:10:11 -05:00
Client Fix right click on Java 9+ (#86) 2020-02-22 23:24:29 -05:00
CompiledServer Fixup compile errors (#72) 2020-02-02 18:01:33 -05:00
Management-Server Merge Qweqker 2020-01-21 20:18:26 -05:00
Server [Needs Further Testing] Hardcore Iron Man Mode, Changing or De-Ironing at Hans, Some other Dialogue adjustments (#90) 2020-02-22 23:24:58 -05:00
Tools Fixes and more (#69) 2020-01-26 16:30:32 -05:00
.attach_pid3023 Latest compile 2019-11-03 12:16:14 -05:00
.gitignore Make setup easier by having the correct directories marked as src (#50) 2020-01-06 20:45:55 -05:00
README.md Update README.md 2020-01-11 14:14:04 -05:00
RS-2009.iml Easier setup 2020-01-06 20:47:55 -05:00

RS 2009 - The most complete Runescape Emulation server. Pull requests welcome!

Join our Discord server: https://discord.gg/4zrA2Wy

We also have a live game in the Releases section that always runs the latest code.

Setting up the project

Requirements:

  • General knowledge of git
  • General knowledge of SQL
  • Intellij

Be sure to check the debugging section when something goes wrong.

Step 1:

  • Fork this repository to your repo

Step 2: Setting up IntelliJ

  • Open IntelliJ
  • Click File > New > Project from Version Control
    • Paste the URL of your forked repository in the URL field, click Done
    • Wait for the repository to clone
  • Click File > Project Structure > Modules > 09HDscape > Paths > Inherit project compile output path
    • Hit OK
  • Click File > Project Structure > Project > Change the Project Compiler Output to the folder where the project exists on your computer

Step 3: Setting up the Database

Since this portion of the guide is operating-system specific, you will either need basic database knowledge or a bit of help. Below are the things that need to be configured.

Windows & Linux GUI:

  • Download and install xampp
  • Start the Apache and MySQL modules
  • Navigate to http://localhost/phpmyadmin/
  • Create 2 new tables named server and global
  • Import Server/server.sql and Server/global.sql into their respective databases
    • Refer here for help importing the .sql files

Linux Command Line

  • Instructions for various Linux distros can be found here

Step 4: Running the Server & Client

  • Run the management-server
    • In IntelliJ, navigate to 09HDscape-management-server/src/org/keldagrim/Main.java, right click > Run
  • Run the server
    • In IntelliJ, navigate to 09HDscape-server/src/org/crandor/Main.java, right click > Run
      • It will fail
    • Top right there should be Main (1) in a dropdown, click it then select Edit Configurations
    • Change the working directory to 09HDscape-server so it can find server.properties
  • Run the client
    • In IntelliJ, navigate to 09HDscape-client/src/org/runite/GameLaunch.java, right click > Run

You should now be set up!

Debugging

Errors could not find library:

  • Click File > Project Structure > Modules > 09HDscape > Paths > Inherit project compile output path
    • Now click Dependencies
    • Click the + on the right-hand side > JARs or directories
    • Add the following things:
      • 09HDscape-client/lib directory
      • 09HDscape-client/clientlibs.jar file
      • 09HDscape-management-server/lib director

Errors regarding java.nio.BufferUnderflowException in server:

  • Reclone the repository. This happened to me (Red Bracket) once, could never reproduce.