Skip to content

Commit 0d5aec6

Browse files
authored
Server extensions framework: custom features, world subs, binaries, and more (RSCPlus#204)
1 parent 8880399 commit 0d5aec6

File tree

90 files changed

+8065
-1001
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

90 files changed

+8065
-1001
lines changed

.classpath

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,5 +17,6 @@
1717
<classpathentry kind="lib" path="lib/flatlaf-3.1.1.jar"/>
1818
<classpathentry kind="lib" path="lib/jna-platform-5.13.0.jar"/>
1919
<classpathentry kind="lib" path="lib/jna-5.13.0.jar"/>
20+
<classpathentry kind="lib" path="lib/orange-extensions-1.3.0.jar"/>
2021
<classpathentry kind="output" path="bin"/>
2122
</classpath>

.github/workflows/ant.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,5 +20,7 @@ jobs:
2020
uses: actions/setup-java@v1
2121
with:
2222
java-version: 1.8
23+
- name: Execute tests
24+
run: ant test
2325
- name: Build with Ant
2426
run: ant dist -noinput -buildfile build.xml
Lines changed: 179 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,179 @@
1+
name: Build Binaries
2+
3+
permissions:
4+
contents: write
5+
6+
on:
7+
workflow_dispatch:
8+
inputs:
9+
binary_version:
10+
description: 'Binary version'
11+
type: string
12+
required: true
13+
platform:
14+
description: 'Platform'
15+
required: true
16+
default: 'none'
17+
type: choice
18+
options:
19+
- None
20+
- All platforms
21+
- Windows (All)
22+
- Windows 64-bit
23+
- Windows 32-bit
24+
- MacOS
25+
- Linux
26+
27+
env:
28+
BINARY_VERSION: ${{ inputs.binary_version }}
29+
30+
jobs:
31+
windows_64:
32+
runs-on: windows-2022
33+
if: ${{ inputs.platform == 'Windows 64-bit' || inputs.platform == 'Windows (All)' || inputs.platform == 'All platforms' }}
34+
steps:
35+
- uses: actions/checkout@v4
36+
with:
37+
submodules: 'true'
38+
- run: choco install innosetup
39+
- name: Set up JDK 8
40+
uses: actions/setup-java@v4
41+
with:
42+
java-version: 8
43+
distribution: temurin
44+
- name: Packr Windows x64
45+
shell: bash
46+
run: ./binaries/build-scripts/win64.sh
47+
- name: Create Win64 version file
48+
run: echo ${{ inputs.binary_version }} >> version_windows_64.txt
49+
- name: Upload Win64 build artifact
50+
uses: actions/upload-artifact@v4
51+
with:
52+
name: artifacts-win64
53+
path: |
54+
RSCPlusSetup.exe
55+
version_windows_64.txt
56+
if-no-files-found: error
57+
58+
windows_32_xp:
59+
runs-on: windows-2022
60+
if: ${{ inputs.platform == 'Windows 32-bit' || inputs.platform == 'Windows (All)' || inputs.platform == 'All platforms' }}
61+
steps:
62+
- uses: actions/checkout@v4
63+
with:
64+
submodules: 'true'
65+
- run: choco install innosetup --version=5.6.1.20190126 --allow-downgrade --force
66+
- name: Set up JDK 8
67+
uses: actions/setup-java@v4
68+
with:
69+
java-version: 8
70+
distribution: temurin
71+
- name: Launch4j Windows x86
72+
shell: bash
73+
run: ./binaries/build-scripts/win32.sh
74+
- name: Create Win32 version file
75+
run: echo ${{ inputs.binary_version }} >> version_windows_32.txt
76+
- name: Upload Win32 build artifact
77+
uses: actions/upload-artifact@v4
78+
with:
79+
name: artifacts-win32
80+
path: |
81+
RSCPlusSetup32.exe
82+
version_windows_32.txt
83+
if-no-files-found: error
84+
85+
linux:
86+
runs-on: ubuntu-20.04
87+
if: ${{ inputs.platform == 'Linux' || inputs.platform == 'All platforms' }}
88+
steps:
89+
- uses: actions/checkout@v4
90+
- name: Set up JDK 8
91+
uses: actions/setup-java@v4
92+
with:
93+
java-version: 8
94+
distribution: temurin
95+
- name: Packr Linux x86_64
96+
run: ./binaries/build-scripts/linux-x86_64.sh
97+
- name: Create Linux version file
98+
run: echo ${{ inputs.binary_version }} >> version_linux_appimage.txt
99+
- name: Upload Linux build artifact
100+
uses: actions/upload-artifact@v4
101+
with:
102+
name: artifacts-linux
103+
path: |
104+
RSCPlus.AppImage
105+
version_linux_appimage.txt
106+
if-no-files-found: error
107+
108+
macos:
109+
runs-on: macos-13
110+
if: ${{ inputs.platform == 'MacOS' || inputs.platform == 'All platforms' }}
111+
steps:
112+
- uses: actions/checkout@v4
113+
- name: Set up JDK 8
114+
uses: actions/setup-java@v4
115+
with:
116+
java-version: 8
117+
distribution: temurin
118+
- run: git clone https://github.com/RSCPlus/create-dmg
119+
- run: |
120+
set -e
121+
cd create-dmg
122+
npm install
123+
ln -s cli.js create-dmg
124+
chmod +x create-dmg
125+
- run: echo create-dmg >> $GITHUB_PATH
126+
- name: Packr MacOS x64
127+
run: ./binaries/build-scripts/macos-x64.sh
128+
- name: Packr MacOS aarch64
129+
run: ./binaries/build-scripts/macos-aarch64.sh
130+
- name: Create MacOS version file
131+
run: echo ${{ inputs.binary_version }} >> version_macos.txt
132+
- name: Upload MacOS build artifacts
133+
uses: actions/upload-artifact@v4
134+
with:
135+
name: artifacts-macos
136+
path: |
137+
RSCPlus-x64.dmg
138+
RSCPlus-aarch64.dmg
139+
version_macos.txt
140+
if-no-files-found: error
141+
142+
pre_release:
143+
runs-on: ubuntu-20.04
144+
if: always()
145+
needs: [ windows_64, windows_32_xp, linux, macos ]
146+
steps:
147+
- name: Retrieve all built artifacts
148+
uses: actions/download-artifact@v4
149+
with:
150+
merge-multiple: true
151+
path: pre-release
152+
- name: Verify artifacts available
153+
run: |
154+
if [ $(ls | wc -l) == 0 ]; then
155+
echo "Exiting; No artifacts were found"
156+
exit 1
157+
fi
158+
- name: Set current date as env variable
159+
run: echo "NOW=$(date +'%Y-%m-%dT%H:%M:%S')" >> $GITHUB_ENV
160+
- name: Bundle all artifacts
161+
uses: vimtor/action-zip@v1.2
162+
with:
163+
files: pre-release/
164+
recursive: true
165+
dest: rscplus-${{env.NOW}}.zip
166+
- name: Pre-release built artifacts
167+
uses: softprops/action-gh-release@v2
168+
with:
169+
files: |
170+
rscplus-${{env.NOW}}.zip
171+
fail_on_unmatched_files: true
172+
make_latest: false
173+
prerelease: true
174+
tag_name: binaries-pre-release
175+
- name: Cleanup artifacts
176+
uses: geekyeggo/delete-artifact@v5
177+
with:
178+
name: |
179+
artifacts-*

README.md

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -51,8 +51,6 @@ All features that modify the interface can be disabled if desired.
5151

5252
*::screenshot* - Take screenshot (Saved in the screenshots directory)
5353

54-
*::sleep* - Sleep, provided you have a sleeping bag in inventory
55-
5654
*::banksearch [aWord]* - Searches current bank state for banked items
5755
containing "aWord". Note that withdrawing all of a certain item's type
5856
will push it to the end of the bank and thus withdrawing all should not
@@ -119,8 +117,6 @@ keyword stored.
119117

120118
*::rainbow* - Formats your message in all the colours of the rainbow (or at least 6)
121119

122-
*::system* - Hides your username and outputs your message
123-
124120
*::update* - Manually check if RSC+ is up to date
125121

126122
## Controls
@@ -130,7 +126,6 @@ keyword stored.
130126
All keybinds are configurable via the Settings GUI
131127

132128
#### General
133-
- Ctrl + x - Sleep, provided you have a sleeping bag in inventory
134129
- Ctrl + l - Logout
135130
- Ctrl + s - Take screenshot (Saved in the screenshots directory)
136131
- Ctrl + o - Open the options/settings window
@@ -174,16 +169,19 @@ stored keyword on searchable bank)
174169
#### Miscellaneous
175170
- Ctrl + 1-5 - World switch on login screen
176171

172+
## Server Extensions
173+
Custom features specific to private servers must be implemented via the Server Extension framework
174+
175+
See [Documentation](src/Client/Extensions/README.md) for more details
177176

178177
## Contributing
179178
- Fork the project
180179
- Work on it
181180
- Pull request the branch
182181

183-
*I will not accept any game automation features (macroing, etc.)*
184-
182+
*No game automation features (macroing, etc.) will be accepted, even within private server extensions*
185183

186-
### Building [![Build Status](https://travis-ci.org/RSCPlus/rscplus.svg?branch=master)](https://travis-ci.org/OrN/rscplus)
184+
### Building
187185
*You must have git, apache-ant, and jdk 1.7 or 1.8 installed to do this.*
188186
```
189187
git clone https://github.com/RSCPlus/rscplus

assets/build_windows.xml

Lines changed: 0 additions & 40 deletions
This file was deleted.

assets/build_windows_console.xml

Lines changed: 0 additions & 40 deletions
This file was deleted.

assets/downloading.png

704 Bytes
Loading

assets/extensions/orsc/orsc_16.png

1.03 KB
Loading

assets/extensions/orsc/orsc_32.png

1.68 KB
Loading

assets/extensions/orsc/orsc_64.png

3.6 KB
Loading

0 commit comments

Comments
 (0)