Quantcast
Channel: Rune-Server
Viewing all 56156 articles
Browse latest View live

Requesting a Later Revision RuneLife Client

$
0
0
Requesting a later revision RuneLife client.
The Project Fubergen client 7.3 and 8.3.1 do not have the more up to date client frame such as the emotes tab featuring skillcape emotes, etc..

Free Signature [.PSD]

[WTS] Any udemy course for $5 ANY LANGUAGE!

$
0
0
Hello welcome to my store, i am selling any udemy courses for $5
you can choose any course you wish in any Language.

The course will be gifted to your udemy account email.

Add my skype to purchase: robert.snow76
or discord: Isanvel#5434

payment method accepted:

-BTC
-Paypal

Custom Edge home

Goldfarming & Account selling vs RSPS

$
0
0
Which would you poor' more time into goldfarming (mass scale) or rsps development to start an project/business.
which would benefit more? I've read some crazy things over the years and both make mass amounts.

sprite help please

$
0
0
can anyone please help me with this I can change my sprites easy but the ones that have pink in background work fine and the ones that have white show white in game how do I fix that

Quote:

Originally Posted by THE KING 29 View Post
can anyone please help me with this I can change my sprites easy but the ones that have pink in background work fine and the ones that have white show white in game how do I fix that

can anyone please help me with this

[PS4] Hosting Dead Island: Riptide Mod Menu.

Crowns

$
0
0
View Project Source - CodePen Example

Hey all,

Just a quick forum post. I made this project to explore more into the area of the Custom Elements Web API. Saw it as a perfect opportunity to pop out a crowns library and would love to see this start to make it's way into some of the RSPS forums that exist. They work the same way you'd expect other HTML elements work so your existing rank colours will be inherited by the crowns.

The generated code is a vector crown so it will scale up (or down) as needed without dropping quality. It just generally will make the website (or forums) a bit more polished in places where you can present crowns. It's currently implemented (to some degree) on the Zenyte Forums. Their version is an early adoption of what I had a while back, but before posting this thread I made sure they were a bit more versatile.

Implementation

Assuming you are using a supported browser, you shouldn't have any issue or additional requirements past loading the script anywhere in your HTML (global template or layout wrapper)

Code:

<script src="https://unpkg.com/@myosrs/crowns@latest"></script>
Use it next to usernames you want to distingish

Code:

<div>
  <myosrs-crown></myosrs-crown>
  <span>Username</span>
</div>


[OSRS] Jormungand's Prison's coords

$
0
0
I got the island of stone coords: 2465 4010, found it in the lunar isle ocean stated on rune wiki. But Explv's map isn't updated so I have no clue where the dungeon is at. Wondering if anyone has it?

Cache Problem

$
0
0
Hi,

I'm a little confused atm,

A few of my players and myself are having issues downloading my cache (some people dont have issues)

So when i run client on eclipse the cache is downloaded no problem , but when i jar the client and try to download the cache from the jar it gets stuck at 35%.
I try deleting the cache n retrying but no luck?
Anybody know the solution?

High End KVMSSD & XEN VPS Hosting Deals From Cloudarion| 100% Satisfaction!

$
0
0
Are you looking for total flexibility to adapt the power of each VM?
https://cloudarion.com/ service is the perfect solution.

Cloudarion has been a major presence in the Web Hosting market since 2011. All of our staff is in-house and we pride ourselves on operating our own networks and infrastructures. If you add our high quality to the potency of KVMSSD and XEN VPS hosting, you will receive a winning package. We have always been proud of our 99.9% uptime on VPS systems.

Check out Cloudarion KVMSSD VPS hosting packages:

KVMSSD1 VPS hosting plan
RAM - 1024 Mb
SSD - 10 GB
OS - CentOS, Debian, Linuxmint, Scilinux or Ubuntu.
Windows 2008 server r2 trial
Windows 2012 server trial
Price $10/mo - Order Now

KVMSSD2 VPS hosting plan
RAM - 2 Gb
SSD - 20 Gb
OS - CentOS, Debian, Linuxmint, Scilinux or Ubuntu.
Windows 2008 server r2 trial
Windows 2012 server trial
Price $20/mo - Order Now

KVMSSD4 VPS hosting plan
RAM - 4 Gb
SSD - 30 Gb
OS - CentOS, Debian, Linuxmint, Scilinux or Ubuntu.
Windows 2008 server r2 trial
Windows 2012 server trial
Location - De
Price $40/mo - Order Now

KVMSSD8 VPS hosting plan
RAM - 8 Gb
SSD - 50 Gb
OS - CentOS, Debian, Linuxmint, Scilinux or Ubuntu.
Windows 2008 server r2 trial
Windows 2012 server trial
Location - De
Price $80/mo - Order Now

KVMSSD16 VPS hosting plan
RAM - 16 Gb
SSD - 100 Gb
OS - CentOS, Debian, Linuxmint, Scilinux or Ubuntu.
Windows 2008 server r2 trial
Windows 2012 server trial
Location - De
Price $160/mo - Order Now

KVMSSD32 VPS hosting plan
RAM - 32 Gb
SSD - 200 Gb
OS - CentOS, Debian, Linuxmint, Scilinux or Ubuntu.
Windows 2008 server r2 trial
Windows 2012 server trial
Location - De
Price $320/mo - Order Now

Our hosting service combines stability and reliability of Linux systems with the flexibility of Xen/KVM distribution. If you have been looking for a resilient, strong hosting setup, this will be your best choice.

Check out Cloudarion XEN VPS hosting packages:

XenVps05 VPS hosting plan
RAM - 512 Mb
HDD - 15 GB
OS - CentOS, Fedora, Debian or Ubuntu
Location - Switzerland, Russia, Usa or De
Price $7/mo - Order Now

XenVps1 VPS hosting plan
RAM - 1024 Mb
HDD - 25 GB
OS - CentOS, Fedora, Debian or Ubuntu
Location - Switzerland, Russia, Usa or De
Price $10/mo - Order Now

XenVps2 VPS hosting plan
RAM - 2 Gb
HDD - 50 Gb
OS - CentOS, Fedora, Debian or Ubuntu.
Location - Switzerland, Russia, Usa or De
Price $20/mo - Order Now

XenVps4 VPS hosting plan
RAM - 4 Gb
HDD - 80 Gb
OS - CentOS, Fedora, Debian or Ubuntu.
Location - Switzerland, Russia, Usa or De
Price $40/mo - Order Now

XenVps8 VPS hosting plan
RAM - 8 Gb
HDD - 150 Gb
OS - CentOS, Fedora, Debian or Ubuntu.
Location - Switzerland, Russia, Usa or De
Price $80/mo - Order Now

XenVps16 VPS hosting plan
RAM - 16 Gb
HDD - 300 Gb
OS - CentOS, Fedora, Debian or Ubuntu.
Location - Switzerland, Russia, Usa or De
Price $160/mo - Order Now

XenVps32 VPS hosting plan
RAM - 32 Gb
HDD - 500 Gb
OS - CentOS, Fedora, Debian or Ubuntu.
Location - Switzerland, Russia, Usa or De
Price $320/mo - Order Now

Payment methods accepted: Paypal, Payza, Bitcoin, WebMoney, Payoneer.

Hard drives are in a RAID 10 redundant array to ensure your data remains safe!
Local and Backup on remote server! Your VPS container will be on local RAID-10 Storage Array’s for the fastest & most reliable storage architecture for your websites. RAID-10 technology offer a staggering boost in input/output operations per second (IOPS).

==>> Check out Cloudarion.com Windows VPS hosting plans
==>> Check out cloudarion.com Dedicated Servers

Need help? Contact with our technical support.

https://cloudarion.com/

[317] Server Cache Help

$
0
0
I'm using Arkitori source, and I'm having trouble figuring out my cache issue

I am getting one of two errors.
The client saying "Requesting Title Screen", which means its reading my cache, but unsure where the sprites are.
And after going into my cache and deleting and just pasting the actual files and not having it unzip by it's self, Im getting this error
Spoiler for Error Image:

Running the client through eclipse works just fine, no issues.

Here is what my cache folder looks like:
Spoiler for Cache Folder:
[


Not sure what could be causing it, so heres my signlink:
Spoiler for Signlink:

import java.applet.Applet;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.RandomAccessFile;
import java.net.InetAddress;
import java.net.Socket;
import java.net.URL;

public final class Signlink implements Runnable {

public static void startpriv(InetAddress inetaddress) {
threadliveid = (int) (Math.random() * 99999999D);
if (active) {
try {
Thread.sleep(500L);
} catch (Exception _ex) {
}
active = false;
}
socketreq = 0;
threadreq = null;
dnsreq = null;
savereq = null;
urlreq = null;
socketip = inetaddress;
Thread thread = new Thread(new Signlink());
thread.setDaemon(true);
thread.start();
while (!active) {
try {
Thread.sleep(50L);
} catch (Exception _ex) { }
}
}

public void run() {
active = true;
uid = getuid(findcachedir());
try {
cache_dat = new RandomAccessFile(findcachedir() + "main_file_cache.dat", "rw");
for (int j = 0; j < 6; j++) {
cache_idx[j] = new RandomAccessFile(findcachedir() + "main_file_cache.idx" + j, "rw");
}
} catch (Exception exception) {
exception.printStackTrace();
}
for (int i = threadliveid; threadliveid == i;) {
if (socketreq != 0) {
try {
socket = new Socket(socketip, socketreq);
} catch (Exception _ex) {
socket = null;
}
socketreq = 0;
} else if (threadreq != null) {
Thread thread = new Thread(threadreq);
thread.setDaemon(true);
thread.start();
thread.setPriority(threadreqpri);
threadreq = null;
} else if (dnsreq != null) {
try {
dns = InetAddress.getByName(dnsreq).getHostName();
} catch (Exception _ex) {
dns = "unknown";
}
dnsreq = null;
} else if (savereq != null) {
if (savebuf != null)
try {
FileOutputStream fileoutputstream = new FileOutputStream(findcachedir() + savereq);
fileoutputstream.write(savebuf, 0, savelen);
fileoutputstream.close();
} catch (Exception _ex) {
}
if (waveplay) {
waveplay = false;
}
if (midiplay) {
midi = findcachedir() + savereq;
midiplay = false;
}
savereq = null;
} else if (urlreq != null) {
try {
System.out.println("urlstream");
urlstream = new DataInputStream((new URL(mainapp.getCodeBase(), urlreq)).openStream());
} catch (Exception _ex) {
urlstream = null;
}
urlreq = null;
}
try {
Thread.sleep(50L);
} catch (Exception _ex) {
}
}
}

public static String findcachedir() {
File file = new File(System.getProperty("user.home") + "/XandrCache/");
if (!file.exists()) {
if (!file.mkdir())
return secondDir();
}
return System.getProperty("user.home") + "/XandrCache/";
//return "./Cache/";
}

public static String secondDir() {
File file = new File("c:/XandrCache/");
if (!file.exists())
file.mkdir();
return file.toString();
}

private static int getuid(String s) {
try {
File file = new File(s + "uid.dat");
if (!file.exists() || file.length() < 4L) {
DataOutputStream dataoutputstream = new DataOutputStream(new FileOutputStream(s + "uid.dat"));
dataoutputstream.writeInt((int) (Math.random() * 99999999D));
dataoutputstream.close();
}
} catch (Exception _ex) { }
try {
DataInputStream datainputstream = new DataInputStream(new FileInputStream(s + "uid.dat"));
int i = datainputstream.readInt();
datainputstream.close();
return i + 1;
} catch (Exception _ex) {
return 0;
}
}

public static synchronized Socket opensocket(int i) throws IOException {
for (socketreq = i; socketreq != 0;)
try {
Thread.sleep(50L);
} catch (Exception _ex) {
}

if (socket == null)
throw new IOException("could not open socket");
else
return socket;
}

public static synchronized DataInputStream openurl(String s) throws IOException {
for (urlreq = s; urlreq != null;)
try {
Thread.sleep(50L);
} catch (Exception _ex) {
}

if (urlstream == null)
throw new IOException("could not open: " + s);
else
return urlstream;
}

public static synchronized void dnslookup(String s) {
dns = s;
dnsreq = s;
}

public static synchronized void startthread(Runnable runnable, int i) {
threadreqpri = i;
threadreq = runnable;
}

public static synchronized boolean wavesave(byte abyte0[], int i) {
if (i > 0x1e8480)
return false;
if (savereq != null) {
return false;
} else {
wavepos = (wavepos + 1) % 5;
savelen = i;
savebuf = abyte0;
waveplay = true;
savereq = "sound" + wavepos + ".wav";
return true;
}
}

public static synchronized boolean wavereplay() {
if (savereq != null) {
return false;
} else {
savebuf = null;
waveplay = true;
savereq = "sound" + wavepos + ".wav";
return true;
}
}

public static synchronized void midisave(byte abyte0[], int i) {
if (i > 0x1e8480)
return;
if (savereq != null) {
} else {
midipos = (midipos + 1) % 5;
savelen = i;
savebuf = abyte0;
midiplay = true;
savereq = "jingle" + midipos + ".mid";
}
}

public static void reporterror(String s) {
System.out.println("Error: " + s);
}

private Signlink() {
}

public static final int clientversion = 317;
public static int uid;
public static int storeid = 32;
public static RandomAccessFile cache_dat = null;
public static final RandomAccessFile[] cache_idx = new RandomAccessFile[6];
public static boolean sunjava;
public static Applet mainapp = null;
private static boolean active;
private static int threadliveid;
private static InetAddress socketip;
private static int socketreq;
private static Socket socket = null;
private static int threadreqpri = 1;
private static Runnable threadreq = null;
private static String dnsreq = null;
public static String dns = null;
private static String urlreq = null;
private static DataInputStream urlstream = null;
private static int savelen;
private static String savereq = null;
private static byte[] savebuf = null;
private static boolean midiplay;
private static int midipos;
public static String midi = null;
public static int midivol;
public static int midifade;
private static boolean waveplay;
private static int wavepos;
public static int wavevol;
public static boolean reporterror = true;
public static String errorname = "";
}


And here is my UpdateCache.java
Spoiler for UpdateCache.java:
import java.io.BufferedInputStream;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.URL;
import java.net.URLConnection;
import java.util.zip.ZipEntry;
import java.util.zip.ZipInputStream;

import javax.swing.JOptionPane;


public class UpdateCache implements Runnable {

public static final String ZIP_URL = "https://www.dropbox.com/sh/mlo7j0uoykud8wm/AADf8LsCHtdvw3FeWR1MopVLa?dl=1";
public static final String VERSION_URL = "https://www.dropbox.com/s/wtht055e7g4pr70/cacheVersion.dat?dl=1";
public static final String VERSION_FILE = ClientConstants.CACHE_LOCATION + "cacheVersion.dat";
private Client client;
Client frame;

public UpdateCache(Client client) {
this.client = client;
}

private void drawLoadingText(int amount, String text) {
client.drawLoadingText(amount, text);
}

public double getCurrentVersion(){
try {
@SuppressWarnings("resource")
BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(VERSION_FILE)));
return Double.parseDouble(br.readLine());
} catch (Exception e) {
return 0.1;
}
}

public double getNewestVersion(){
try {
URL tmp = new URL(VERSION_URL);
BufferedReader br = new BufferedReader(new InputStreamReader(tmp.openStream()));
return Double.parseDouble(br.readLine());
} catch (Exception e) {
// handleException(e);
return -1;
}
}

private void handleException(Exception e){
StringBuilder strBuff = new StringBuilder();
strBuff.append("Please Screenshot this message, and send it to an admin!\r\n\r\n");
@SuppressWarnings("unused")
StringBuilder append = strBuff.append(e.getClass().getName()).append(" \"").append(e.getMessage()).append("\"\r\n");
for(StackTraceElement s : e.getStackTrace())
strBuff.append(s.toString()).append("\r\n");
alert("Exception [" + e.getClass().getSimpleName() + "]",strBuff.toString(),true);
}

private void alert(String msg){
alert("Message",msg,false);
}

private void alert(String title,String msg,boolean error){
JOptionPane.showMessageDialog(null,
msg,
title,
(error ? JOptionPane.ERROR_MESSAGE : JOptionPane.PLAIN_MESSAGE));
}

@Override
public void run() {
drawLoadingText(0, "Checking Versions");
try{
double newest = getNewestVersion();
if(newest > this.getCurrentVersion()){
int n = JOptionPane.showConfirmDialog(
null,
"There is an update to version " + newest + "\n" +
"Would you like to update?",
"Current version: "+ getCurrentVersion(),
JOptionPane.YES_NO_OPTION);
if(n == 0){
updateClient();
drawLoadingText(0, "Cache has been updated, please restart the client!");
alert("Cache has been updated, please restart the client!");
@SuppressWarnings("resource")
OutputStream out = new FileOutputStream(VERSION_FILE);
out.write(String.valueOf(newest).getBytes());;
out.close();
System.exit(0);
}else{
alert(" Your client may not load correct, current version is: " +
getCurrentVersion());
System.exit(0);
}
}
}catch(Exception e){
handleException(e);
}
}

private void updateClient() {
File clientZip = downloadClient();
if(clientZip != null){
unZip(clientZip);
}
}

private void unZip(File clientZip) {
try {
unZipFile(clientZip,new File(Signlink.findcachedir()));
clientZip.delete();
} catch (IOException e) {
handleException(e);
}
}

private void unZipFile(File zipFile,File outFile) throws IOException{
ZipInputStream zin = new ZipInputStream(new BufferedInputStream(new FileInputStream(zipFile)));
ZipEntry e;
long max = 0;
long curr = 0;
while((e = zin.getNextEntry()) != null)
max += e.getSize();
zin.close();
@SuppressWarnings("resource")
ZipInputStream in = new ZipInputStream(new BufferedInputStream(new FileInputStream(zipFile)));
while((e = in.getNextEntry()) != null){
if(e.isDirectory())
new File(outFile,e.getName()).mkdirs();
else{
@SuppressWarnings("resource")
FileOutputStream out = new FileOutputStream(new File(outFile,e.getName()));
byte[] b = new byte[1024];
int len;
while((len = in.read(b,0,b.length)) > -1){
curr += len;
out.write(b, 0, len);
setUnzipPercent((int)((curr * 100) / max));
System.out.println("Percentage: " + (int)((curr * 100) / max));
}
}

}
}

public int percent = 0;

public void setDownloadPercent(int amount){
percent = amount;
drawLoadingText(amount, "Downloading Cache" + " - " + amount + "%");
}

public int percent2 = 0;

public void setUnzipPercent(int amount2){
percent2 = amount2;
drawLoadingText(amount2, "Extracting Cache" + " - " + amount2 + "%");
}

private File downloadClient(){
File ret = new File(Signlink.findcachedir()+"XandrCache.zip");
try{
OutputStream out = new FileOutputStream(ret);
URLConnection conn = new URL(ZIP_URL).openConnection();
InputStream in = conn.getInputStream();
long max = conn.getContentLength();
long curr = 0;
byte[] b = new byte[1024];
int len;
while((len = in.read(b, 0, b.length)) > -1){
out.write(b,0,len);
curr += len;
setDownloadPercent((int)((curr * 100) / max));
}
out.flush();
out.close();
in.close();
return ret;
}catch(Exception e){
handleException(e);
ret.delete();
return null;
}
}
}


My cacheVersion.dat is set to 3.9
and in my ClientConstants.java it is also set to 3.9
Spoiler for Client Version:
public final static String CLIENT_VERSION = "3.9";


clientVersion.dat is 572347
Same number as inside of ClientConstants.java

Like I said, i'm not sure entirely what i'm doing wrong, I have tried pretty much everything i've came across while trying to fix this issue.


I'm expecting "Learn Java" or some other backhanded comments lol
An RSPS helps me learn, it keeps me interested in adding and removing things, and like this, learning what is going wrong and learning from these problems.
I have searched for about 4 hours and i'm not sure what i'm doing wrong.

FIXED:
Thanks to Adam200214
Solution:
My Client Version was not correct, as well as my ItemBonusDefinitions.XML was not loading correctly

Inside Client.Java

Find this code:
Spoiler for Client.Java:
@SuppressWarnings("unchecked")
public static void loadItemBonusDefinitions() throws IOException {
List<ItemBonusDefinition> list = (List<ItemBonusDefinition>) xStream.fromXML(new FileInputStream("./ItemBonusDefinitions.xml"));
for (ItemBonusDefinition definition : list) {
itemBonusDefinitions.put(definition.getId(), definition);
}
System.out.println("Loaded " + list.size() + " item bonus definitions.");
}

And replace with this:
Spoiler for Client.Java:
@SuppressWarnings("unchecked")
public static void loadItemBonusDefinitions() throws IOException {
List<ItemBonusDefinition> list = (List<ItemBonusDefinition>) xStream.fromXML(new FileInputStream(Signlink.findcachedir() + "./ItemBonusDefinitions.xml"));
for (ItemBonusDefinition definition : list) {
itemBonusDefinitions.put(definition.getId(), definition);
}
System.out.println("Loaded " + list.size() + " item bonus definitions.");
}

Simple Server Graphics

$
0
0

So I wanted to go for a simple look, yet still capturing what the client wanted.
Hopefully you like it, and please leave feedback. Good or bad it's always welcome.
Thank you for taking the time to check out my thread and comment if you did :)




some random fantasy simplistic designs

RS3 rsps mobile client

$
0
0
If I were to edit the IP connecting the rs3 client to their servers and change it to my servers ip address and recompile the APK would it work? Anyone know?

goodkovo logo

$
0
0


For a Minecraft server in Lithuania

RepCord - A Simple, Cross-Server Reputation System for Discord

$
0
0

Know who you're dealing with before the first "Hello".
https://repcord.io

Repcord is a simple, cross-server reputation bot that aims at keeping users safe, and at keeping the bad guys at bay.
When a new user joins your server, you can quickly check their reputation to see if they are a scammer, a creep or just a nice person!
The data fueling this bot is fueled by users, so be sure to rep people that you encounter!


This bot has been written in Java, using the JDA library.
When a user "::rep's" another user, it is stored in a local SQL database.
All data is stored and available to users cross-server or through our website.

My goal for this bot is to have as many users as possible building the database up, so eventually when a new user joins a discord server,
They could immediately be seen for the person they are, whether good or bad.
I imagine this bot could be especially useful for Economy based communities, like buying/selling/trading digital goods.
Or even for social servers. For example if someone is being a creep, you could neg the user.

Each person can rep/neg another person one time only.
The reputation CAN be modified though.
Either by using the ::rep command again, or logging into our website.

There is also a Rep Power/Rep Score system.
Each user has a base rep power of 5.
If you rep someone, their score goes up 5 points, if you neg them, it goes down 5 points.
This power can be boosted though. Donators receive +5 Rep Power.
Voters (coming soon) receive +2 rep power for 12 hours.


When the bot joins your server, it sends a welcome message explaining how to use the bot.



A Message is sent in our own server logging that you have joined as well as giving some useful information
for us to see what types of communities are using our bot.



When you are meeting a new person you can simply ::rep check @username
and it returns helpful data.



Within this data, thee is a link to our website where you can view the comments that people have left for the user
(Obviously Lumplum is mad at me :P)




I have spent roughly a month on this thus far and along with the help of some really great members from here on Rune-Server, it has become what it is.
If you decide to use this bot and ever get stuck you can type ::help.
I am completely open to user-feedback and suggestions. This is the first time I have taken Java outside of a Runescape server and I like what has come of it, but I am always looking to build on this.




Planned Updates:
  • Webhook system web-side to log votes
  • A more visually-pleasing web design (please submit suggestions)
  • ::reps given command to easily check data about the reputation a user gives
  • USER SUGGESTIONS



Credits:
Website/Systems: Jay Gatsby
Discord Bot: Patrity

Corey, ReverendDread: Hands-on contribution, helping with my stupid questions, talking me through a new Library.
Nozemi, Ken, Cosine, Mikan: Help with great suggestions and small bug fixes!
Omni: GFX Design

[OSRS] 184 Mystic - Full OSRS Experience - Runelite - Fremennik Exiles

$
0
0






Looking for an entire team. Feel free to pm for more details;
Game Developer: Myself, N/A

GFX Developer: Chris, N/A

Website Developer: Zeeks, N/A

Map Developer: Myself, N/A

Community Manager: Myself, N/A

Administrator: Zeeks, Tyler, N/A

Moderator: Beast, N/A

Helper: Shitted lol, Fool, N/A, N/A


Introduction
Revision: 184
Mystic-ps is an osrs private server targeted to give you a realism feeling.
Expect this server to be extremely similar to osrs in many ways, but still have the private server feel.

About Mystic
Mystic has been underdevelopment for while now. With our brand new
development team, we plan to give you the players the best experience possible!

Mystic Progression
Combat:
Switching
Prayer
NPC/Player Pathing
Specials


Skilling:
Attack
Strength
Defence
Ranged
Prayer
Magic
Runecrafting
Hitpoints
Crafting
Mining
Smithing
Fishing
Cooking
Firemaking
Woodcutting

Agility
Herblore
Thieving
Fletching
Slayer

Farming
Construction
Hunter

Minigames:
Barrows
Wintertodt
Duel Arena
Fight caves
Inferno
Pest Control
Pvp Tournaments

Chambers of Xeric
Theatre of Blood
The Gauntlet

Bosses:
Zulrah
Corporal Beast
Alchemical Hydra
Godwars
Dagganoth Kings
Chaos Fanatic
Chaos Elemental
Kalphite Queen
Callisto
Venenatis
Vet'ion
Kraken
Vorkath

Abbyssal Sire
Mimic

Cerberus

Miscellaneous:
Grand Exchange
Collection Log
Ironmen Modes
Realism Mode


Spoiler for Media:



















[OSRS] Basilisk Knight Animations

$
0
0
The title pretty much says all, looking for just the attack, block, and death animations

Req Galvek Data

$
0
0
The Npc 'Galvek' GFX/Projectiles/Anims
Viewing all 56156 articles
Browse latest View live