Thread: [718] Getting your server started!

Page 1 of 14 12311 ... LastLast
Results 1 to 10 of 139
  1. #1 [718] Getting your server started! 
    Registered Member

    Join Date
    Dec 2012
    Posts
    3,012
    Thanks given
    897
    Thanks received
    923
    Rep Power
    2525
    Welcome to my huge guide on developing your 718 Server. In these guides, Matrix 718 is my base. So if you don't have that base, it may be a little bit different. This guide was 100% made by me, I didn't copy anyone's guide, so enjoy!
    Just a word of advice; Matrix is not a good base to use

    Note: I am still going to add more guides, if you need 1, feel free to ask me. I also made this guide so people could direct new-coders where to go.


    Note:
    If you want a successful RuneScape Private Server, you should know the following:
    • You need something unique
    • You can't be greedy for money, or have any intentions of making a RSPS just for making money
    • You need to make sure everything is consistent, in terms of Quality, in your RSPS.
    • You need to maintain a Clean look - So no spelling mistakes, etc.
    • You have to actually plan what type of RSPS you want, and the reasons why. Remember; you can't go back.


    Spoiler for Helpful Information:
    Item list: [Only registered and activated users can see links. ]
    Matrix source/client/cache: [Only registered and activated users can see links. ] (Huge credit to Tyler Hurst)

    Spoiler for How do I edit an RSPS to my liking?:
    To "edit" a RSPS, you must first know that they are coded in Java, so you need something to edit that. The most basic form is of course, Notepad. However, the best way to edit your RSPS is actually a program named "Eclipse", which can save you a huge amount of time. Reasons being:
    • No need to "compile".
    • Displays hints on which you can fix errors
    • Refactoring
    • Very easy to navigate around
    • Easy text, much better than Notepad
    Eclipse can be downloaded [Only registered and activated users can see links. ]
    You should also know a reasonable amount of Java before you code, you can easily find some lessons online.


    Spoiler for Making yourself Administrator:
    Go onto player.java, search for
    Code:
    rights
    , write your name in, so it looks like this:
    Code:
    if (username.equalsIgnoreCase("Name"))
                    {
    rights = 2;
    }

    Spoiler for Changing your Servers name/Port/etc.:
    Search for Settings.java, it can be found at
    src/com/rs/settings.java
    Spoiler for Replace that with the following::
    Code:
    package com.rs;
    
    import java.math.BigInteger;
    
    import com.rs.game.WorldTile;
    
    public final class Settings {
    
    	/**
    	 * General client and server settings.
    	 */
    	public static final String SERVER_NAME = "Server name here";
    	public static final int PORT_ID = 43594;
    	public static final String LASTEST_UPDATE = "Latest update here";
    	public static final String CACHE_PATH = "data/cache/";
    	public static final int RECEIVE_DATA_LIMIT = 7500;
    	public static final int PACKET_SIZE_LIMIT = 7500;
    	public static final int CLIENT_BUILD = 718;
    	public static final int CUSTOM_CLIENT_BUILD = 3;
    	
    	/**
    	 * Link settings
    	 */
    	public static final String WEBSITE_LINK = "Server website";
    	public static final String ITEMLIST_LINK = "ItemList Link (Not needed)";
    	public static final String ITEMDB_LINK = "Itemlist link (For a website, e.g. www.runeitems.com";
    	public static final String VOTE_LINK = "Vote link";
    
    	/**
    	 * Launching settings
    	 */
    	public static boolean DEBUG;
    	public static boolean HOSTED;
    	public static boolean ECONOMY;
    	
    	/**
    	 * If the use of the managment server is enabled.
    	 */
    	public static boolean MANAGMENT_SERVER_ENABLED = true;
    
    	/**
    	 * Graphical User Interface settings
    	 */
    	public static final String GUI_SIGN = "-";
    	public static final String LINE_SEPARATOR = System.getProperty("line.separator");
    	
    	/**
    	 * Player settings
    	 */
    	public static final int START_PLAYER_HITPOINTS = 100;
    	public static final WorldTile START_PLAYER_LOCATION = new WorldTile(3552,4963, 0);
    	public static final String START_CONTROLER = "StartTutorial"; // "NewHomeControler";//
    	public static final WorldTile RESPAWN_PLAYER_LOCATION = new WorldTile(3088,3489, 0); //new WorldTile(3359,6115, 0);// //
    	public static final long MAX_PACKETS_DECODER_PING_DELAY = 30000; // 30seconds
    	public static final int XP_RATE = 22; 
    	public static final int DROP_RATE = 6;
    	
    	/**
    	 * World settings
    	 */
    	public static final int WORLD_CYCLE_TIME = 600; // the speed of world in ms
    	
    	/**
    	 * Music & Emote settings
    	 */
    	public static final int AIR_GUITAR_MUSICS_COUNT = 50;
    	
    	/**
    	 * Quest settings
    	 */
    	public static final int QUESTS = 183;
    	
    	/**
    	 * Memory settings
    	 */
    	public static final int PLAYERS_LIMIT = 2000;
    	public static final int LOCAL_PLAYERS_LIMIT = 250;
    	public static final int NPCS_LIMIT = Short.MAX_VALUE;
    	public static final int LOCAL_NPCS_LIMIT = 250;
    	public static final int MIN_FREE_MEM_ALLOWED = 30000000; // 30mb
    	
    	/**
    	 * Game constants
    	 */
    	public static final int[] MAP_SIZES = { 104, 120, 136, 168, 72 };
    	
    	public static final String GRAB_SERVER_TOKEN = "hAJWGrsaETglRjuwxMwnlA/d5W6EgYWx";
    	public static final int[] GRAB_SERVER_KEYS = {1441,78700,44880,39771,363186,44375,0,16140,7316
    		,271148,810710,216189,379672,454149,933950,21006,25367,17247,1244,1,14856,1494,119,882901,1818764,3963,3618};
    	
    	
    	//an exeption(grab server has his own keyset unlike rest of client)
    	public static final BigInteger GRAB_SERVER_PRIVATE_EXPONENT = new BigInteger("95776340111155337321344029627634178888626101791582245228586750697996713454019354716577077577558156976177994479837760989691356438974879647293064177555518187567327659793331431421153203931914933858526857396428052266926507860603166705084302845740310178306001400777670591958466653637275131498866778592148380588481");
    	public static final BigInteger GRAB_SERVER_MODULUS =  new BigInteger("119555331260995530494627322191654816613155476612603817103079689925995402263457895890829148093414135342420807287820032417458428763496565605970163936696811485500553506743979521465489801746973392901885588777462023165252483988431877411021816445058706597607453280166045122971960003629860919338852061972113876035333");
    	
    	public static final BigInteger PRIVATE_EXPONENT = new BigInteger("90587072701551327129007891668787349509347630408215045082807628285770049664232156776755654198505412956586289981306433146503308411067358680117206732091608088418458220580479081111360656446804397560752455367862620370537461050334224448167071367743407184852057833323917170323302797356352672118595769338616589092625");
    	public static final BigInteger MODULUS = new BigInteger("102876637271116124732338500663639643113504464789339249490399312659674772039314875904176809267475033772367707882873773291786014475222178654932442254125731622781524413208523465520758537060408541610254619166907142593731337618490879831401461945679478046811438574041131738117063340726565226753787565780501845348613");
    
    	/**
    	 * Donator settings
    	 */
    	public static String[] DONATOR_ITEMS = { "-", /* "-", "-", */
    		"-", "-", "-", "-" };
    	
    	public static String[] EXTREME_DONATOR_ITEMS = {"-", -", "-", "-"};
    
    	/**
    	 * Item settings
    	 */
    	public static String[] EARNED_ITEMS = { "-", "--", "-",
    			"-", "-", "-", "-"};
    	
    	public static String[] REMOVING_ITEMS = { "-",
    		"-", "-", "-"};
    	
    	public static String[] VOTE_REQUIRED_ITEMS = {
    		"-"
    	};
    	
    	public static boolean inApacheEmperorZone(WorldTile tile) {
    		return (tile.getX() >= 2830 && tile.getX() <= 2862 && tile.getY() >= 10042 && tile.getY() <= 10062);
    	}
    
    	private Settings() {
    
    	}
    }
    Then fill it in!

    Spoiler for Changing IP of RSPS:
    To change the "IP" of your RSPS, you need to go onto your client. From here, look for Loader.java - and open it. Search for:
    String IP
    From here, you can edit that IP to yours, if you want it so it is just for you, type in "127.0.0.1".

    Spoiler for Commands:
    Commands are probably the backbone to your server, so you need to have some handy commands!
    Commands are located at commands.java, which can be found at:
    src/com/rs/game/player/content/commands.java
    Spoiler for Example:
    You can add various things such as:
    Code:
    case "vote":
    player.getPackets().sendOpenURL("http://google.co.uk/");
    The above command would open [Only registered and activated users can see links. ] when you done ::vote

    Spoiler for Additional Information:
    Here are some other commands:
    [code]case "CommandHere":
    player.getPackets().sendGameMessage(
    "MessageHere");
    return true;

    Spoiler for NPC's!:

    NPC's can be a huge part of your server, giving players additional teleports, telling them valuable pieces of information, and much more!
    Spoiler for Adding an NPC:

    Go to
    Code:
    \data\npcs
    , and open "UnpackedSpawnsList". From here, you can tell what NPC's spawn where, and to add one in yourself, you have to use the following format:
    NPCid - X Y Plane
    So, if we wanted to spawn a "Man" at the Edgeville area, we would write in the following:
    Code:
    1 - 3091 3500 0
    The 1= His ID
    The 3091 = X Co-ordinates
    The 3500 = Y Co-ordinates
    0 = His level (Nearly always 0)


    From there, you would save, delete the folder "PackedSpawns", and Compile!


    Spoiler for NPC Dialogues:
    First, you need to have your NPC spawned, using the guide above. Once you have done that, you can make that NPC be interacted with.
    Spoiler for The following code will enable you to talk to "Santa", and him giving you a present:

    Go to
    src\com\rs\game\player\dialogues
    , and make a new file. I suggest making it Santa.java.
    Add in the following:
    Code:
    package com.rs.game.player.dialogues;
    
    import com.rs.cache.loaders.NPCDefinitions;
    import com.rs.game.player.Gamble;
    import com.rs.cache.loaders.AnimationDefinitions;
    import com.rs.game.ForceTalk;
    import com.rs.game.Animation;
    import com.rs.game.Graphics;
    
    public class Santa extends Dialogue {
    
    	private int npcId;
    
    	@Override
    	public void start() {
    		sendEntityDialogue(SEND_2_TEXT_CHAT,
    				new String[] { NPCDefinitions.getNPCDefinitions(npcId).name,
    						"Merry Christmas +player.getDisplayName()+! Would you like to have a present?"}, IS_NPC, npcId, 9400); 
    	}
    	
    	@Override
    	public void run(int interfaceId, int componentId) {
    		if (stage == -1) {
    			sendOptionsDialogue("Do you want a Present?", "Yes please!",
    					"No thanks!");
    			stage = 1;
    		} else if (stage == 1) {
    			if (componentId == OPTION_1) {
    				player.setNextForceTalk(new ForceTalk("Ho Ho Ho, Merry Christmas!"));
    				player.setNextAnimation(new Animation(10530));
    				player.setNextGraphics(new Graphics(255));
    				player.getInventory().addItem(21454, 1);
    				end();
    				}
    			else if (componentId == OPTION_2) {
    				end();
    				}
    			}
    		}
    
    	@Override
    	public void finish() {
    
    	}
    }
    Now you want to go to DialogueHandler.java, which can be found at
    src\com\rs\game\player\dialogues
    Add in the following:
    Code:
    handledDialogues.put("Santa", (Class<Dialogue>) Class.forName(Santa.class.getCanonicalName()));
    Now, if you talk to the NPC "Santa", you should now be able to have a nice dialogue with him!

    Spoiler for Shops:
    Adding in shops is pretty easy, all you have to do is go to:
    \data\items
    and find unpackedShops.txt!
    Once you open this, there will be shops there already, preloaded, and they are all in the following format:
    Currency Boolean - Name of Shop - Item Quantity
    So, if we wanted a General Store at Edgeville, with the default items, it would be the following:
    Code:
    1 995 true - Edgeville General Store - 1931 30 1935 10 1735 10 1925 30 1923 10 1887 10 590 10 1755 10 2347 10 550 10 9003 10
    995 = Currency (Coins)
    True = Boolean
    Edgeville Genreal Store = Name
    1931 = ID
    30 = Quantity of 1931.
    It then repeats for every new item, in the same method as ID,Quantity.

    Once you have finished, delete
    Packedshops.s
    , and you are good!

    Spoiler for Adding requirements to items:

    ItemConstants.java

    Spoiler for Putting the server online to other players:

    There are 2 possibilities for putting your server online; "Portforwarding" and using a VPS (Virtual Private Server)

    Portforwarding
    Portforwarding is using your Home Internet connection to host your server, so if you have a typical home connection you won't be able to get a huge amount of players online, along with the fact of your normal internet being affected (Downloads, browsing will be slower). Portforwarding is a good choice if you are low on internet and only would want the server to a few friends.

    To portforward, you would need to do it via your Router's default gateway. Because of the mass amount of routers; I cannot make a whole guide on each one, so I would suggest to go to [Only registered and activated users can see links. ] and locate your Router model, and select "RuneScape Private Server". Be aware; the port you want to forward is "43594".

    VPS
    A VPS is the more preferred choice, as it does not use your internet connection, it uses a whole new computers internet. A huge amount of websites sell VPS's, so there is no shortage of choice. If you are struggling to find one, either Google or check the "Hosting" section of Rune-server. VPS's also have very good internet connections compared to home-connection speeds. When you are finding a VPS, you would want decent computer specs, and good internet upload speed. Note, download speed does not affect the RSPS. A VPS would be a good choice if you want to open the server up to the public.

    If this is your first time purchasing a VPS; I would advise you to purchase a Windows VPS. Although they cost more, they are much easier to navigate than Linux VPS's. If you have any trouble setting up your VPS you can ask your provider for help, or you could just private-message someone on rune-server.


    Reply With Quote  
     


  2. #2  
    Registered Member

    Join Date
    Dec 2012
    Posts
    3,012
    Thanks given
    897
    Thanks received
    923
    Rep Power
    2525
    Reserved
    Reply With Quote  
     

  3. #3  
    Donator
    hero x sword's Avatar
    Join Date
    Apr 2012
    Age
    23
    Posts
    864
    Thanks given
    93
    Thanks received
    100
    Rep Power
    26
    not bad at least ur doing somthing for the guys that dont know anything. This wil help them at least understand what is what lol.

    Reply With Quote  
     

  4. #4  
    Registered Member

    Join Date
    Dec 2012
    Posts
    3,012
    Thanks given
    897
    Thanks received
    923
    Rep Power
    2525
    Quote Originally Posted by hero x sword View Post
    not bad at least ur doing somthing for the guys that dont know anything. This wil help them at least understand what is what lol.

    Thank you, and yes - that was the reason why I made this.
    Reply With Quote  
     

  5. #5  
    ♢♢♢♢♢♢

    Con Artist's Avatar
    Join Date
    Jan 2012
    Posts
    1,356
    Thanks given
    666
    Thanks received
    300
    Rep Power
    361
    You should change your thread title to [667/718] since they're the same except the commands method

    this will definitelly help new people to matrix


    widdy widdy


    /|\
    / \

    Reply With Quote  
     

  6. #6  
    Junior Programmer

    Stoked's Avatar
    Join Date
    Apr 2012
    Age
    19
    Posts
    3,592
    Thanks given
    385
    Thanks received
    418
    Rep Power
    143
    Wow, Not bad, Thanks for this will share to my mates who use 600+ Servers

    Reply With Quote  
     

  7. #7  
    Registered Member Get Vexxed's Avatar
    Join Date
    Dec 2012
    Posts
    121
    Thanks given
    14
    Thanks received
    8
    Rep Power
    11
    Great job, in-depth, full and complete, but could use other methods depending on someone's router and port forwarding etc. But good job. 9/10
    [Only registered and activated users can see links. ]
    Reply With Quote  
     

  8. #8  
    Donator
    BongoProd's Avatar
    Join Date
    Oct 2012
    Posts
    813
    Thanks given
    1
    Thanks received
    68
    Rep Power
    0
    No credits for me? I made the halloween npc, you just ripped the dialouge and changed a few id's
    Reply With Quote  
     

  9. #9  
    Registered Member

    Join Date
    Dec 2012
    Posts
    3,012
    Thanks given
    897
    Thanks received
    923
    Rep Power
    2525
    Quote Originally Posted by BongoProd View Post
    No credits for me? I made the halloween npc, you just ripped the dialouge and changed a few id's
    This is the Christmas NPC.
    Reply With Quote  
     

  10. #10  
    ♢♢♢♢♢♢

    Con Artist's Avatar
    Join Date
    Jan 2012
    Posts
    1,356
    Thanks given
    666
    Thanks received
    300
    Rep Power
    361
    Quote Originally Posted by BongoProd View Post
    No credits for me? I made the halloween npc, you just ripped the dialouge and changed a few id's
    Anybody is capable of making simple dialogue handing item to player


    widdy widdy


    /|\
    / \

    Reply With Quote  
     

Page 1 of 14 12311 ... LastLast

Thread Information
Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Similar Threads

  1. Replies: 27
    Last Post: 12-21-2012, 07:55 PM
  2. Ugh, cant even get started
    By Iamme in forum Help
    Replies: 5
    Last Post: 05-05-2011, 02:02 PM
  3. Quest Stage (Not started, started, Done) Config's Dump
    By Sir Zap in forum Configuration
    Replies: 30
    Last Post: 04-20-2011, 09:36 PM
Posting Permissions
  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •