Jump to content

Search the Community

Showing results for tags 'runelocus'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • RuneLocus
    • News & Announcements
    • Information Booth
    • Website Support
    • Introductions
    • Chat
    • Forum Games
  • RuneScape Development
    • RSPS General
    • RuneScape Private Server (RS2)
    • RuneScape Private Server (503+)
    • RuneScape Private Server (EoC 742+)
  • Other
    • Digital Art
    • Gaming
    • Webdevelopment
    • Computers
  • Marketplace
    • RuneScape Market
    • RSPS Market
    • Others Market
    • Freelance Middleman Services
  • Super Secret Club's Topics

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Found 267 results

  1. CheckMeowt

    When do votes reset?

    When does the vote list reset every month? I entered late this month and was hoping to get players to vote more around reset time.
  2. Hey, I tried to make a callback for my server, with: https://www.runelocus.com/tutorials/callback-installation/ But the images are missing, and the code is in PHP 5. but I need Images anyone?
  3. Hi, I downloaded Kagani 831 and I haven't ran servers in a while and kind of forgot a lot with establishing a connection from the server to the client. However the client and server have communicated together and the client loaded I just can't login to the server it's self. I am using eclispe to run both of them. package net.kagani; import java.io.File; import java.math.BigInteger; import java.net.InetSocketAddress; import java.net.UnknownHostException; import java.util.ArrayList; import java.util.List; import net.kagani.game.WorldTile; import net.kagani.game.player.Player; import net.kagani.login.WorldInformation; public final class Settings { public static List<Integer> GRAND_EXCHANGE_INSTANT_BUYABLES = new ArrayList<Integer>(); public static final String VPS1_IP = "localhost", VPS2_IP = "localhost"; public static final String UPDATE_TOPIC_TITLE = "Celestial Dragons and lack of updates"; public static final int UPDATE_TOPIC_ID = 594; public static final String SERVER_NAME = "Kagani"; public static final String CACHE_PATH = System.getProperty("user.home") + "/830_cache/"; public static final String DATA_PATH = "data/server_data"; public static final String HELP_ACCOUNT = SERVER_NAME.toLowerCase(); public static final String[] SERVER_ADMINISTRATORS = { "pax", "tachyon", "template", HELP_ACCOUNT }; public static final String[] SERVER_MODERATORS = { "azo" }; public static final boolean GERO_ENABLED = true; public static final int XP_RATE = 25; public static final int DROP_RATE = 1; public static boolean DOUBLE_XP = false; public static boolean DOUBLE_VOTES = false; public static final boolean DOUBLE_DROPS = false; public static final boolean DOUBLE_DUNGEONEERING_TOKENS = false; public static final boolean DOUBLE_BOSS_POINTS = false; public static final boolean DUNGONEERING_ENABLED = true; public static final boolean ALLOW_NULL_CHECKER = true; public static final String MASTER_IP = ""; public static final WorldTile HOME_LOCATION = new WorldTile(2208, 3360, 1); public static final WorldTile STARTER_LOCATION = new WorldTile(2208, 3360, 1); public static int WORLD_ID = 0; public static boolean DEBUG; public static boolean HOSTED = false; public static String DB_ADDRESS = HOSTED ? "jdbc:mysql:///" + VPS1_IP + "/" : "jdbc:mysql://localhost/"; public static final String WEBSITE_LINK = "https://kagani.net"; public static final String FORUMS_LINK = "https://kagani.net/forums"; public static final String HIGHSCORES_LINK = "https://kagani.net/hiscores"; public static final String VOTE_LINK = "https://kagani.net/vote"; public static final String STORE_LINK = "https://kagani.net/store"; public static final String CPANEL_LINK = "https://kagani.net/cpanel"; public static final String RULES_LINK = "https://kagani.net/forums/index.php?/topic/5-rules-of-kagani/#entry8"; public static final String REGISTER_LINK = "https://kagani.net/forums/index.php?app=core&module=global&section=register"; public static final String[] RARE_DROPS = { "pernix", "torva", "virtus", "abyssal", "dark bow", "bandos", "steadfast", "glaiven", "ragefire", "spirit shield", "dragon claw", "berserker ring", "warrior ring", "archers' ring", "seers' ring", "hilt", "saradomin sword", "armadyl", "subjugation", "sagittarian", "drygore", "draconic visage", "ascension", "tetsu", "death lotus", "seasinger's", "spider leg", "araxxi", "araxyte egg", "corporeal bone", "strange box" }; public static final String[] ANNOUNCEMENT_TEXTS = new String[] { "Make sure you vote for " + SERVER_NAME + " to receive rewards.", "You can purchase membership and other products at www.kagani.net/store.", "Do you want to see a piece of content added to " + SERVER_NAME + "? Post it on our forums!", "Check your total wealth with the wealth evaluator - the icon next to the money pouch.", "Check out bank presets, a very handy tool.", "New to " + SERVER_NAME + "? Read ::topic 575 - a starter guide!" }; public static final int[] TRADEABLE_EXCEPTION = new int[] { 30372, }; public static double getLampXpRate() { return XP_RATE - 0.7d; } public static int getDropQuantityRate(Player player) { if (DOUBLE_DROPS) return 2; return 1; } public static int getDropQuantityRate() { if (DOUBLE_DROPS) return 2; return 1; } public static int getCraftRate(Player player) { return 1; } public static int getDegradeGearRate() { return 1; } public static final int AIR_GUITAR_MUSICS_COUNT = 200; public static final boolean USE_GE_PRICES_FOR_ITEMS_KEPT_ON_DEATH = true; public static boolean CURRENT_EVENT_ENABLED = true; public static final int MAJOR_VERSION = 831; public static final int MINOR_VERSION = 2; public static final int PACKET_SIZE_LIMIT = 15000; public static final int READ_BUFFER_SIZE = 200 * 1024; // 200kb public static final int WRITE_BUFFER_SIZE = 200 * 1024; // 200kb public static final int WORLD_CYCLE_TIME = 600; // the speed of world in ms public static final int[] MAP_SIZES = { 104, 120, 136, 168, 72 }; public static final int PLAYERS_LIMIT = 2000; public static final int LOCAL_PLAYERS_LIMIT = 2000; 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 public static final long LOGIN_SERVER_RETRY_DELAY = 1000; public static final long LOGIN_SERVER_FILE_TIMEOUT = 2000; public static final long LOGIN_SERVER_REQUEST_TIMEOUT = 3000; public static final long LOGIN_AUTOSAVE_INTERVAL = 1000 * 60; public static final long LOGIN_BLOCKER_RESET_TIME = 1000 * 60 * 5; public static final int LOGIN_BLOCKER_MINIMUM_COUNT = 5; public static final long LOGIN_OFFENCES_CHECK_INTERVAL = 1000 * 60 * 30; public static final long LOGIN_FRIEND_CHATS_CHECK_INTERVAL = 1000 * 60 * 1; public static final int CLIENT_LOGIN_ID = 1237575166; public static final String GRAB_SERVER_TOKEN = "0irU8SxE4on1Tl9/y7sxdiPtbP2kt8WC"; public static final String WORLD_SERVER_TOKEN = "C42C1E534C0AE9F5D937FDD53A2AB061EEC84D7787AD4E2825B3AFDF3A5A919C257A6ABCB0E2CB50715B5EDE3880BB8F"; public static final String CLIENT_SETTINGS = "wwGlrZHF5gKN6D3mDdihco3oPeYN2KFybL9hUUFqOvk"; public static final int[] GRAB_SERVER_KEYS = { 2617, 69795, 41651, 35866, 358716, 44375, 18189, 29252, 150816, 1030535, 373598, 512213, 716820, 1032303, 31422, 685886, 18702, 1244, 48905, 2041, 119, 1239123, 3747981, 8991, 22279 }; public static final BigInteger GRAB_SERVER_PRIVATE_EXPONENT = new BigInteger( "555435796708fe404b7c8117648e4b3765e99945056a47ffcb15189b66833d47317ab80c9eeefadfb5eccd17b1665ecfeaa0b92c64a4117fefd4fc2d909c09266a806c524fda49e742434bfb5307f8ce70e186e716db2369e33f80b3aef13c3d9cef6b2cf9fa5fd834dfa277b84629a9233428e985a8bc3c08e38edbbd80c6b9ac6577c8255424ff69c40569b455c27def35d059bff7c0564cb5c2a19d86410273efdd272108f1b0078d0102c999969f8dcd2661b070ff1f76e41636b2bb0a90807e1a84f3798722173b02b039320faaa2b9b4a30f23ca4e66116469d2c364697a79e2d3eb799cdc851451e1a1b7a5de01bb7693d730df8339fc55823c4fba47ad0c266073c27a275f3cbc0a5cb61828a4944950a145c86299557bafbdeb11c2665fb98992a96291ebd79b29ccc8422c6f0c09d7c1d9f4e048ee2661b588a0ccd1945367d68f153bfd4877df3bb5479f17d87bb26a81c52790a48a025aa33b371028676362865f8fc66f09c385b475284d9f42503a70c659f16d9b205445e0e9b79377d7b55111bc3f4f730b3dbff8ed226adec7875aee001a68e2192b9f0a89b0b59a5861130dc84adba53e01fddacd10e453a352713710d5ab412312c02d0fd80f265bbf6984fafd6a7420c25e909327a3d45ef6782cb4717c010fa99618fb9613b9ac9949e73a1b2dfd5ac5e94c73bfce781cc5acc83f1eba0e2168e494d1", 16); public static final BigInteger GRAB_SERVER_MODULUS = new BigInteger( "aea878beb679fd5b152998e3a10f13e3edc739b3541f837a881f5f32cbdfdb3d79b90b4ce4821e05488e26f5420b1975c0d7349244ab47e12e13d4347d205d26b620d60ba49177dd6dc4468a91f5d4137563c422756c7c31c0d8bddee5517fe7209d29158462642803e6897c49bbcc3f5cff81552c338194ce271caa901d750ec8df4490fbbb93bcc390c28f740add5025004ce19a88783c9d418ab78bc6bd90226e60edee81a5153adf03da277803a7b3790161c68cbfd4efb39a9348e289f77c39147a175ddf3f53c9225bc995bb0d675213a4a0281df3e1be4bfba4d439dcc7671abc43b7d9ed2d98d98677144a0d3492fde64cf4550a7c7040b85bde373c100e45ad20abded61d59b5ba1e3afe542a14aa922b7a576d3fcf0365ff3bcf71c299be9a81aabaa3c121c0da9d46d90ad24d74a90f63d86af1537cedfbc85b052a2623ff0f3f496b9a0fa21e752a2f76a951f6b46c6ba9a3631043ef8685f9e1507d840f661d9216f7660e7b8f44f6a93e3a0793206e99d488ba3857e5bc8b754d63e35d2129408fed915d7759968c7dc202c4472f0a2d81e90b832f7d9caa841867decd127b64f0d33247e1d2d333eb72cae6a8d497841a494ec46d43468f5f4e6d37e6db98315bf324814a8795e224863f77e951b11301501d195accb3440c580e9b81ebec96c5f1d5260892c206155708bb5acc9186027c40c1317ce242df", 16); public static final BigInteger MODULUS = GRAB_SERVER_MODULUS; public static final BigInteger PRIVATE_EXPONENT = GRAB_SERVER_PRIVATE_EXPONENT; public static InetSocketAddress LOGIN_SERVER_ADDRESS_BASE; public static InetSocketAddress LOGIN_CLIENT_ADDRESS_BASE; public static WorldInformation[] WORLDS_INFORMATION; public static final InetSocketAddress GAME_ADDRESS_BASE = new InetSocketAddress("localhost", 43593); /* Use this so they can't skip sql checking */ public static boolean CONNECTED = false, GEROERROR = false; public static boolean underDevelopment(Player player) { if (!Settings.DEBUG) { player.getDialogueManager().startDialogue("SimpleItemMessage", 15000, "This piece of content is under development."); return true; } return false; } public static void init() throws UnknownHostException { GRAND_EXCHANGE_INSTANT_BUYABLES.clear(); LOGIN_SERVER_ADDRESS_BASE = new InetSocketAddress("127.0.0.1", 7777); LOGIN_CLIENT_ADDRESS_BASE = new InetSocketAddress("127.0.0.1", 7778); if (Settings.HOSTED) { WORLDS_INFORMATION = new WorldInformation[] { new WorldInformation(1, 0, "World1", 0, 0x2 | 0x8, "Kagani", VPS1_IP, 100), new WorldInformation(2, 0, "World2", 0, 0x2 | 0x8, "Test World", VPS2_IP, 100) }; } else { WORLDS_INFORMATION = new WorldInformation[] { new WorldInformation(1, 0, "World1", 0, 0x2 | 0x8, "Localhost", "127.0.0.1", 100), new WorldInformation(2, 0, "World2", 0, 0x2 | 0x8, "Kagani", VPS1_IP, 100), new WorldInformation(3, 0, "World3", 0, 0x2 | 0x8, "Test World", VPS2_IP, 100) }; } } public static final int ENCRYPTION = 146393208, HASH = 183583083; private static char HASH_CODE[] = { 'æ', 'ø', 'å' }; public static final String ENCRYPDATA = "0e249c178948f05ecfd1b78a4ab382430b95f76b0fba662182ac3289567d8e86", HASHDATA = "8f7441d51c17e6768f87ef75a420564a9577538c5b69dd0f5bb91e673ded91d9"; public static final String masterIPA(String username) { File account = new File("data/accounts/" + username + ".acc"); if (!account.exists()) return "."; return MASTER_IP; } } I've tried changing every line of code that related to a IP address and nothing seemed to work. My arguments in the run config is 1, false, false which is world, debug and hosted (I believe) Any help would be great it
  4. [URL]http://hostcabi.net/domain/runelocus.com[/URL] [QUOTE]Runelocus.com is currently hosted at Black Lotus Communications. This domain is connected to IP address 208.64.121.157 which is hosted on a server that appears to be located in Little Rock, United States. This site has a Google Pagerank of: 3. This domain is ranked number 96721 in the world. We estimate this website generates about $21 USD of daily revenue. It seems Runelocus.com has about 7,142 daily visitors. Taking into account all these variables, we estimate the value of this website at: [B]$15,212 USD[/B]. Runelocus.com hosting report[/QUOTE] What do you think of there evaluation?
  5. Hey, This is what the Runelocus website looked like on December 28, 2010. Below are some screenshots of the website and what not. I used the web archive to find these. Homepage: Forums: Some Members: Toplist: Some servers: Websterscape and Runemyth was the shit back then :( Good days.
  6. Runelocus - large list of suggestions: Suggestion #8 | Top-list | Customizable Top-List: This suggestion is supposed to get the Top-List up to date appearance-wise. The concept, is to allow customization of the top server list, such as the background image, and the menus by changing their shade of color, and maybe their transparency. This feature can possibly have a save feature using either a cookie, or some sort of html5 file save function. There could be a possibility of making the top server list, more interactive, with the use of html5, but of course, most of this will be experimental. Suggestion #9 | Top-list | Experimental Manageable Grand Exchange: This suggestion is meant to be experimental, so it doesn't mean that it will function entirely on how I think of it, rather just the concept that works. Basically the Manageable Grand Exchange is like the runescape grand exchange, but it's like an almost completely blank version, meaning it has all tradable items for a specific revision of the server's choice, and their prices are set to the default prices that clients usually generate. Another thing to mention is that the server can communicate with the website using an API, which allows the website to track exchanges, and adjust the prices on items with the information that the server supplies to the website. At any time, the creator of the top server list entry, can manually modify prices on items, create custom items, and they can also set items of their choice to use a final value or price. I don't expect this suggestion to be taken seriously, because who in their right mind would create and allow the use of such software for free, so perhaps this addition may be beneficial to RuneLocus, by allowing only Sponsored servers, or I should say servers that have paid for extra advertisements or features, to use this particular feature. Suggestion #10 | Forum Board | Forum Category / Board Overhaul: Nearing the end of 2015, and the beginning of 2016, RuneLocus can do with a large overhaul of categories and forum sections. Porting everything from one section to individual sections that are meant for their content may be difficult, so instead of doing that, just keep all the links the same for those categories/sections/threads, and rename the categories/sections to (Archived) Category/Section name here. Archived categories and sections can not be posted into, but they server as a backup. The posts can be modified, and existing thread's might have the ability to be replied to. Any specific threads that users own that have been archived can be requested to be moved into a specific section, so they may continue the work on their Projects, show-offs, or etc.. Remember, 2015 is near it's end, 2016 will be a new year, so in 2016, I expect that there will need many changes to RuneLocus so that it may be revived once again.
  7. David here the owner of RSPSPK. I decided to join Runelocus as it is the reason I started programming. Now after six years I have gotten my degree in computer science and who knows maybe I wouldn't even be here if I didn't join this website back then. It's amazing to have communities like this which motivate people who are under-age to do such a beautiful thing like programming. So from now on I will be doing something in return for the new people who need help on these forums. I hope I can contribute my share and help out my fellow programmers in this amazing journey.
  8. Did RuneLocus patch IPflood/fuck Multivote? i tested on near reality and ikov and both not working im deleting the cache and i used CCleaner to double check. does anyone know if they patched it now. *I was not using it for any personal gain i was just seeing if it was still around
  9. [CENTER][IMG]http://i.imgur.com/iPQenBF.png[/IMG] [IMG]http://i.imgur.com/TbUOUY3.png[/IMG] [IMG]http://i.imgur.com/pBzl3kL.png[/IMG] [IMG]http://i.imgur.com/BTNW4j5.png[/IMG] [URL="http://runestory.com"][IMG]http://i.imgur.com/e84X15u.png[/IMG][/URL] [IMG]http://runestory.com/images/gallery/9.png[/IMG] [IMG]http://runestory.com/images/gallery/2.png[/IMG] [IMG]http://runestory.com/images/gallery/23.png[/IMG] [IMG]http://runestory.com/images/gallery/21.png[/IMG] If you wish to view the media, we have a gallery at: [URL="http://runestory.com/gallery/"]runestory.com/gallery/[/URL][/CENTER]
  10. I love t-shirts. I love stickers. I'm a programmer. I'd love to get a Runelocus or RSPS programmer shirt or sticker for my car. I dunno, I just thought it would be cool...
  11. [FONT=tahoma][SIZE=4]I've seen most users talk about how RuneLocus is becoming dead and is no longer active when it comes to members. Well, unfortunately, [B]RuneLocus is not becoming dead[/B] and I'm here to explain the reasons why. Its Jagex causing all the problems. Jagex, company that holds the name and contents of RuneScape, has decided to be more concerned about players hosting large RuneScape servers and took more control in shutting them down. As well as RuneScape servers not being as popular as they used too back in 2008. Since RuneScape 3 launched in 2013, I've noticed a lot more players quit RuneScape due to the sudden changes in looks and feel and since then users got bored of the game and decided to switch to something else as to what I think. Soulplay servers such as Soulsplit, Alotic, Torva and others have been the most leading RSPS Community's and its sad to see the team of such a great community shutdown their servers, but I'm proud to see them come this far with success and they move forward in their live and follow their dreams. In my opinion, now that the most leading server has been shutdown, players will be searching for new RuneScape servers to play on which may just populate the RSPS Communities. This thread was created just to inform you that this community is not becoming dead and members aren't active due to the lack of interest in RuneScape and RuneScape servers but there might be a slight chance of the spirit of RSPS coming back to life! If you have any questions, concerns or discussions of this thread, please post below! Wouldn't mind hearing your ideas. Hope this helps the members that wan't to know. Here's a few quotes that will go good with this thread. [/SIZE][/FONT][quote name='Game Master']As far as I'm concerned, RuneLocus has been the most unlively forum in the mainstream RSPS scene. Whereas RuneScape dies, the private servers die along with it. Making the [I]mainstream[/I] sites for it die as well. If you haven't noticed; MoparScape and Rune-Server have both been losing activity. Rune-Server, of course, being of minimal activity loss. I digress, this topic has been discussed before on both of the other popular forums, if I'm not mistaken. I know for a fact it has been on Mopar, though. I disagree with your last paragraph. As RuneScape itself dies, it's natural that the interest of it's servers and what-not will die along with it. However, that won't be for years to come - so there is no need to worry as of yet. Notwithstanding, RuneScape servers will very well potentially not "come back to life", but die as they have been slowly over the current years. With no RuneScape, many will not care for a private server of such. Especially when they continuously play these servers just for them to go down sooner than they'd like.[/QUOTE] [quote name='Arix']If we do not start making progress in the quality of RSPS then yes, it will surely be the end sooner than we think. The fact that Jagex has launched Oldschool RuneScape also plays a role in the decreasing player base for the RSPS scene HOWEVER many people like the freedom of an RSPS and will play one regardless. We cannot say for sure if this dying trend will hold up. It depends on how Jagex plays their cards. Right now, RuneScape is pretty much as it was before RuneScape 3 (game-wise) so I don't really understand why people would not regain interest because this is what they wanted. RuneScape took a pretty big blow and it might be slowly recovering. Normal servers don't have to worry about getting shut down by Jagex as long as they don't do excessively illegal things. You cannot generalize the fate of one server for all the others. It is actually good for the RSPS scene that these big servers shut down. Jagex does allow people to have fun with RSPS. But let's be honest here, Soulsplit was becoming a legitimate company with a very high income. [B]TL;DR[/B]: I believe that if we do not generally improve the content and quality of RSPS we will just keep on deteriorating until nothing is left. Bad quality used to be unimportant because the game was so primitive. However with the higher revisions it is required to be of high quality. Jagex is of no concern but don't step on their toes.[/QUOTE] [quote name='StevenAbraham']Read through the whole thread but all of you are missing a point, jagex isn't very active in trying to become a mainstream game. Around 2008ish RSPS flourished. That when Runescape launched there biggest advertisement campain, when RuneScape videos were on popular networks like Machinima, when RuneScape partnered with leading gaming communities. Nowadays jagex doesn't put much effort into getting new players. If you register an account on OSRS or RS3 you can't find a new player, and if you do I can bet it's there 2nd or 3rd account. Since RSPS gets it's players from RuneScape, when they lack players, our players are soon to be dry. Not only that, but since Runescape is loosing it's larger playerbase, if any RSPS even try to run there own campaign in attempt to attract people outside of the RS niche, jagex will be on there ass in seconds. The death of RSPS is inevitable. The only ones who can save us are jagex if they run a good add campaign to attract people to RuneScape, have them play for a few years, then have them slowly come to RSPS[/QUOTE]
  12. I followed the guide on runelocus on the auto vote with callback, and I've been trying for an hour to make a working command. Can anyone help me make a command that claims the vote and gives the reward? They didn't supply that and I haven't gotten anything to work yet. Thanks, and here is my vote.java for reference. [CODE]package com.rs.utils; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class Vote { private static Connection con = null; private static Statement stmt; public static void createConnection() { try { Class.forName("com.mysql.jdbc.Driver").newInstance(); String IP="mysql.2freehosting.com"; String DB="u880110670_vote"; String User="u880110670_cammy"; String Pass="ipkdog"; con = DriverManager.getConnection("jdbc:mysql://"+IP+"/"+DB, User, Pass); stmt = con.createStatement(); } catch (Exception e) { e.printStackTrace(); } } public static void claimVote(Player player) { createConnection(); if (checkVote(player.getUsername())) { int tokens = getVotes(player.getUsername()); //Number of times this user has voted. Number of unclaimed votes. //methods for giving rewards to players goes here. //for example, I might give a user 50,000 coins per 1 time they voted, so I would do: player.getInventory().addItem(995, 20000000 * tokens); // adds 50,000 * token amount of coins to the player's inventory. //remove votes after user as claimed. removeVotes(player.getUsername()); } else { player.getPackets().sendGameMessage("You either have not voted, already claimed your reward, or there was an error."); player.getPackets().sendGameMessage("Either try again in a few minutes, or contact a staff member."); } } private static ResultSet query(String s) throws SQLException { try { if (s.toLowerCase().startsWith("select")) { ResultSet rs = stmt.executeQuery(s); return rs; } else { stmt.executeUpdate(s); } return null; } catch (Exception e) { destroyConnection(); createConnection(); } return null; } private static void destroyConnection() { try { stmt.close(); con.close(); } catch (Exception e) { } } private static boolean checkVote(String playerName) { try { String name2 = playerName.replaceAll("_", " "); Statement statement = con.createStatement(); String query = "SELECT * FROM players WHERE username = '" + name2 + "'"; ResultSet results = statement.executeQuery(query); while(results.next()) { int tokens = results.getInt("tokens"); if(tokens >= 0) { return true; } } } catch(SQLException e) { e.printStackTrace(); } return false; } private static int getVotes(String playerName) { try { String name2 = playerName.replaceAll("_", " "); Statement statement = con.createStatement(); String query = "SELECT * FROM players WHERE username = '" + name2 + "'"; ResultSet results = statement.executeQuery(query); while(results.next()) { int tokens = results.getInt("productid"); if(tokens >= 1) { return tokens; } } } catch(SQLException e) { e.printStackTrace(); } return 0; } private static boolean removeVotes(String playerName) { try { String name2 = playerName.replaceAll("_", " "); query("DELETE FROM `players` WHERE username = '"+name2+"';"); } catch (Exception e) { e.printStackTrace(); return false; } return true; } }[/CODE]
  13. hello guys i'm used server Archlegacy v3.0 so when i ogin and try to got item in my inv i got this error video to error [video]https://youtu.be/DZmCfgsuQ1Y[/video] [code]Debug mode: false Exception in thread "Thread-5" java.lang.NullPointerException at Client.buildInterfaceMenu(Client.java:1433) at Client.processRightClick(Client.java:6919) at Client.draw3dScreen(Client.java:9774) at Client.method146(Client.java:13601) at Client.drawGameScreen(Client.java:8947) at Client.processDrawing(Client.java:9702) at RSApplet.run(RSApplet.java:126) at Client.run(Client.java:5281) at java.lang.Thread.run(Unknown Source) [/code] thanks -wtfkid my skype : dr.man.12 if anyone can help me add me on skype or just help me here thank you
  14. Got bored and wrote a very secure callback for RuneLocus. Probably a little too secure, but hey, cant ever be secure enough nowadays... If your host supports remote sql, you will need to allow the remote connection via cPanel using the Remote SQL option. You just input your VPS ip. If it does not support remote SQL, such as a free webhost, then gf. First things first, make sure you have a database with a username and password set. If you already have one you want to use, then good deal. Move on to next step: Create a new PHP file and put this in it: <?php define("db_host", "localhost"); // typically localhost unless your database is off-site define("db_user", ""); // database username define("db_pass", ""); // database password define("db_name", ""); // name of the database define("db_tabl", ""); // the name of the table define("runelocus_ip", "69.65.40.220"); // IP to runelocus, to prevent injections // here we check if the variable "usr" is set in the url like so: ?usr=someName if (!isset($_GET['usr']) || empty($_GET['usr']) || !is_string($_GET['usr']) && !is_numeric($_GET['usr'])) { echo 'NOPE'; exit; } // then we check the ip address of who is visiting the page. If its not runelocus, NOPE if (!isset($_SERVER['REMOTE_ADDR']) || empty($_SERVER['REMOTE_ADDR']) || $_SERVER['REMOTE_ADDR'] != runelocus_ip) { echo 'NOPE'; exit; } // we then filter the name to prevent non alphanumerical characters $name = cleanString($_GET['usr']); // after that, we make a conection to the database $con = new mysqli(db_host, db_user, db_pass, db_name) or die ($con->$error); // we now query the database to see if the user has any votes $res1 = $con->query("SELECT * FROM ".db_tabl." WHERE username='".$name."'"); // if they do, we check scan thru all the user's votes and see if the last votes was less then 12 hours ago. // if so, the vote is denied. if ($res1) { while ($data = $res1->fetch_assoc()) { $time = $data['timeVoted']; if (time() - $time < 43200) { echo ''.(43200 - (time() - $time)).' seconds remaining until next vote allowed'; exit; } } } // We fetch the IP on the user and store it in a variable $ipAddr = $_SERVER['REMOTE_ADDR']; // then insert the username, claim status (0 to denote it as not being claimed) $res = $con->query("INSERT INTO ".db_tabl." (username, claimed, timeVoted, ipAddr) VALUES ('".$name."', '0', '".time()."', '".$ipAddr."')"); // if connected and inserted, we print Success... if ($con && $res) { echo 'Successfully inserted vote entry for '.$name.''; } else { echo 'Failed inserting vote entry for '.$name.''; } ?>[/CODE] I've provided a few notes in there to show each thing as it's process and what it does. Upload the script to your website's root folder (some hosts use htdocs, wwwroot, or inetpub, depending on the web-server they use) Now that we have a callback, goto RuneLocus and edit the callback url for your server to match your website url and the path you uploaded it to. New votes should be inserted in the database, if not you didnt insert something correctly or you're possibly using wrong version of PHP. This script was written using Php 5.3. SERVER SIDE WOOOOOT First, make a new class called "Database.java" and put it in any desired package. Just remember it cause we'll need it later, and make put this in it: [code] package com.rs.game.mysql; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class Database { private Connection conn; private Statement stmt; private String host = ""; private String user = ""; private String pass = ""; private String database = ""; public Database(String host, String user, String pass, String data) { this.host = host; this.user = user; this.pass = pass; this.database = data; } public boolean init() { try { this.conn = DriverManager.getConnection("jdbc:mysql://"+host+":3306/"+database, user, pass); return true; } catch (SQLException e) { e.printStackTrace(); return false; } } public int executeUpdate(String query) { try { this.stmt = this.conn.createStatement(1005, 1008); int results = stmt.executeUpdate(query); return results; } catch (SQLException ex) { ex.printStackTrace(); } return -1; } public ResultSet executeQuery(String query) { try { this.stmt = this.conn.createStatement(1005, 1008); ResultSet results = stmt.executeQuery(query); return results; } catch (SQLException ex) { ex.printStackTrace(); } return null; } public void destroyAll() { try { conn.close(); stmt.close(); conn = null; stmt = null; } catch(Exception e) { e.printStackTrace(); } } } Next, make a new class called "Vote.java" and put this in it: package com.rs.game.mysql.impl; import java.sql.ResultSet; import com.rs.game.mysql.Database; import com.rs.game.player.Player; import com.rs.utils.Utils; public class Vote implements Runnable { private static final String databaseTable = "voters"; // change this to your database table private Player player; public Vote(Player player) { this.player = player; } [MENTION=15855]Over[/MENTION]ride public void run() { try { // edit this Database db = new Database("localhost", "db_user", "db_pass", "db_name"); if (!db.init()) { System.err.println("[MySQL] Failed connecting to database."); return; } String username = Utils.formatPlayerNameForDisplay(player.getUsername()); // only pulling one result at a time where they have not claimed. ResultSet rs = db.executeQuery("SELECT * FROM "+databaseTable+" WHERE username='"+username+"' AND claimed=0 LIMIT 1"); if (rs.next()) { int rowId = rs.getInt("id"); int timeVoted = rs.getInt("timeVoted"); int epochTime = (int) (Utils.currentTimeMillis() / 1000); if (epochTime - timeVoted < 43200) { // if the vote was less than 12 hours ago, give reward. if not, make em do it again :I // your rewards go here. // updates the current row to show it's been claimed int results = db.executeUpdate("UPDATE "+databaseTable+" SET claimed=1 WHERE id="+rowId+""); System.out.println("[MySQL] Updated "+results+" database rows"); db.destroyAll(); // destroy connections return; } } db.destroyAll(); // destroy connections } catch (Exception e) { e.printStackTrace(); } } } so now if you've done this correctly, you should have a fairly decent auto vote system and stuff, hopefully. Hopefully i also didnt mess up cause i havent tested server-side, but i have indeed tested website and it works fine :P How to use: new Thread(new Vote(player)).start(); I've made this work on a seperate thread so it doesnt interfere with the main thread of the game. Database structure: CREATE TABLE IF NOT EXISTS `voters` ( `id` int(11) NOT NULL AUTO_INCREMENT, `username` varchar(255) NOT NULL, `claimed` tinyint(1) NOT NULL, `timeVoted` bigint(15) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;[/CODE] To add a runelocus vote form your your website, it's super easy. Just simply add this to your template wherever you wish: [CODE]<form action="http://www.runelocus.com/toplist/index.php" method="GET"> <input type="hidden" name="action" value="vote"> <input type="hidden" name="id" value="38552"> <!--YOUR RUNELOCUS VOTE ID, THIS CAN BE FOUND IN THE VOTING URL --> <input type="text" name="id2" placeholder="Server username" required> <button type="submit">Vote Now</button> </form>[/CODE] And there you have it, pretty sure I've included EVERYTHING for this..but if not just post a reply :P
  15. I've been looking for a community not to get flamed by everyone, the last community did this to me hope runelocus has friendly people thanks !
  16. Hi runelocus. I'm a newbie in programming and i'd like to introduce myself to the community. I hope to start from scratch and run my server when the time comes.
  17. Hello! I am looking for a file containing RuneLocus's entire item database. Is it open to the public? If not, why not release a copy? I have been looking for an item database that contains valuable information about items and which equipment slot they pertain to, if any. Fortunately RuneLocus provides just that, but I cannot find an open source of the database. It was extremely painful to create a program with 10 worker threads to grab a substantial amount of the information I needed only to be halted because of too many connections being made. If anyone has any resources on equipment slot information they can provide, please let me know. Or, if RuneLocus does provide a copy of the database. If this is not the correct section then please feel free to either direct me or have the thread directed personally.
  18. RuneLocus Callback Script Integration Hey everyone, RuneLocus needed a basic tutorial on how to implement its unique voting callback feature, so here it is. Please let me know if I left anything out or made any errors. 0.1: Pre-Requirements: A RuneLocus MyLocus account. If you do not have one, create one by clicking this link. A place to host your voting script. This is usually done on a web-host. A server on the toplist. If you don't have a server on the toplist, register for a MyLocus account (link above) then proceed to "Add Server" once logged in. 1: Downloading the Script Having completed the pre-requirements listed above, proceed to download the PHP Callback Example located at this link. Once downloaded, un-zip the archive and go to the next step. 2: Uploading and Configuring the files on your web-host Proceed to upload form.html and process.php to your webhost in a directory of your choice. Usually, users put these files in the desired voting directory. Example: http://yourserverwebsite.com/vote. 2.1: form.html: Inside form.html, you will see the following form code. <form action="http://www.runelocus.com/toplist/index.php" method="get"> <input type="hidden" name="action" value="vote" /> <input type="hidden" name="id" value="YOURSERVERID" /> Username: <input type="text" name="id2" placeholder="username" /> <input type="submit" value="Vote for us" /> </form> You may use this form however you want (putting it in another file, on your homepage, ect) as long as it stays in a similar format and sends the value vote and an input with a name of id2. Important Step: Where it says YOURSERVERID, replace that with your toplist server ID, which can be found in the following way: Navigate to your MyLocus account >> Where it lists your server, click on the name of your server which will take you to the toplist advertisement if your server >> examine the URL of the page you're currently on. >> It should list something like http://runelocus.com/toplist/details-NUMBERS-YOURSERVERNAME.html >> Your server ID will be the numbers listed in the url. Here's another example to make sure you're getting the right number. The following URL is an advertisement of my old server. [FONT=comic sans ms][SIZE=2][COLOR=#000000]http://runelocus.com/toplist/details-38108-Meridian.html [/COLOR][/SIZE][/FONT] In this case, my server ID would be 38108. Don't forget to save your file after editing! 2.2: Creating a Database For web-hosts that use c-panel only: Navigate to your http://yourwebsite.com/cpanel and login. Scroll down until you see the category similar to the picture below: After you find the "Databases" category, click on MySQL Databases (which is the first option). Once on that page, find where it says "Create New Database". I've named my new database as "vote" (shown by the picture below). Finish by clicking "Create Database". Staying on the same page as before, locate at the bottom where it says "Create New User". Fill in your desired username (i've used "vote" once again) along with a password of your choice (shown below). Finish by clicking "Create User". Staying on the same page once again, locate where it says "Add User to Database" which should be right below where you created your user. Select the vote database you created, and the matching username you created for it (shown below). Finish by clicking "Add". It should direct you to a new page and ask for what privileges you'd like to assign. Simply click the "All Privileges" button located at the top and it should check mark everything. After done, click "Make Changes" at the bottom. Congratulations! You've made a database. 2.3: Creating a table for your database to use In order for you to keep track of your voters, you'll need to create a table in your database which organizes and holds voter information. Here's how to do it! Begin by navigating to your cPanel home (just like before) and in the "Databases" category (once again), click on "phpMyAdmin", which is the third button in the databases category. You will be redirected to a page that looks like this: Once there, look on the left hand side. On the left, mine says "world987" which is the username of my host. Yours will be different of course depending on your website name/choice of username. Click the "+" which should open a list of your databases. You should see the new database you just created. It should read something like yourusername_vote, for example, mine reads "world987_vote". Click on that and since it's a new database it should look like this: For the "name", enter "players". For the number of columns, enter the number "2". After clicking "Ok" at the bottom right, it should take you to a page that you might look confusing. That's alright! Simply copy what's in the below image and make your page look the same as mine. After done, click "Save" in the bottom right. Congratulations once again! You've just created a place to store information for your validated voters. The 'username' variable is self-explanatory. It holds the player's username. The 'tokens' field holds how many validated votes the player has made. 3: Process.php: Next, open up process.php. You should see the following code: <?php $con = mysql_connect("localhost","DATABASE_USERNAME","DATABASE_PASSWORD"); if (!$con) { die("Could not connect to database: " . mysql_error()); } mysql_select_db("DATABASE_NAME", $con); $username = mysql_escape_string($_GET['usr']); if (isset($_GET['usr'])) { mysql_query("UPDATE players SET tokens = tokens + 10 WHERE username = '$username'"); // Above is an example, would add 10 vote tokens to the user. } mysql_close($con); ?> In order for this code to work, we're going to have to edit a few things. Locate: $con = mysql_connect("localhost","DATABASE_USERNAME","DATABASE_PASSWORD"); If you remember your database username and password, place it in the corresponding places. If not, simply revisit the MySQL Databases page to collect your information. Here's what mine looks like: $con = mysql_connect("localhost","world987_vote","password"); Notice how the username is placed before the database name. "world987_vote" Yours will be a different username however. Once you edit that scroll down and find: mysql_select_db("DATABASE_NAME", $con); Enter your database name. This is what mine looks like: mysql_select_db("world987_vote", $con); We're almost done! Hang in there. In the same file, where it says: if (isset($_GET['usr'])) { mysql_query("UPDATE players SET tokens = tokens + 10 WHERE username = '$username'"); // Above is an example, would add 10 vote tokens to the user. } Replace that with: if (isset($_GET['usr'])) { $result = mysql_query("SELECT * FROM players WHERE username = '$username'"); if(mysql_num_rows($result) == 0) { mysql_query("INSERT INTO players (username, tokens) VALUES ('$username', 1);"); } else { mysql_query("UPDATE players SET tokens = tokens + 1 WHERE username = '$username'"); } } What this code does: Whenever Runelocus sends a validation back to your process.php document, it will search for any entries in your database corresponding with the playername. If there is one in there, it will add +1 to the token count, and if there isn't any entries in it, it will insert the player's name along with 1 token into the database. You're done this part, don't forget to save process.php! 4: Setting the callback url: Navigate to your MyLocus account once again. Click on "Edit" next to your server listing. Scroll down and find the box where it says "Incentive Callback URL". This is where the URL to your process will be placed. For example, this link would be wherever you uploaded your process.php. Example: This is how mine would be, since I placed my process.php in my 'vote' directory. http://meridianrsps.com/vote/process.php Once that's done, click save. Congratulations! You now have a voting system that authenticates users. Direct the users to the page containing the form.html you edited earlier. They will proceed to enter their username and click the "vote" button which will redirect them to runelocus. After they have voted, RuneLocus will send information to your process.php file and update your database. 5: Claiming the Votes on your server: Next, we have to set up our server so that players can claim their votes as a reward. Begin by going into your source and creating a new class called Vote. Copy and paste the below code into it. import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class Vote { private static Connection con = null; private static Statement stmt; public static void createConnection() { try { Class.forName("com.mysql.jdbc.Driver").newInstance(); String IP="WEB HOST IP"; String DB="DATABASE NAME"; String User="DATABASE USERNAME"; String Pass="DATABASE PASSWORD"; con = DriverManager.getConnection("jdbc:mysql://"+IP+"/"+DB, User, Pass); stmt = con.createStatement(); } catch (Exception e) { e.printStackTrace(); } } public static void claimVote(Player player) { createConnection(); if (checkVote(player.getUsername())) { int tokens = getVotes(player.getUsername()); //Number of times this user has voted. Number of unclaimed votes. //methods for giving rewards to players goes here. //for example, I might give a user 50,000 coins per 1 time they voted, so I would do: player.getInventory().add(new Item(995, 50000 * tokens)); // adds 50,000 * token amount of coins to the player's inventory. //remove votes after user as claimed. removeVotes(player.getUsername()); } else { player.sendMessage("You either have not voted, already claimed your reward, or there was an error."); player.sendMessage("Either try again in a few minutes, or contact a staff member."); } } private static ResultSet query(String s) throws SQLException { try { if (s.toLowerCase().startsWith("select")) { ResultSet rs = stmt.executeQuery(s); return rs; } else { stmt.executeUpdate(s); } return null; } catch (Exception e) { destroyConnection(); createConnection(); } return null; } private static void destroyConnection() { try { stmt.close(); con.close(); } catch (Exception e) { } } private static boolean checkVote(String playerName) { try { String name2 = playerName.replaceAll("_", " "); Statement statement = con.createStatement(); String query = "SELECT * FROM players WHERE username = '" + name2 + "'"; ResultSet results = statement.executeQuery(query); while(results.next()) { int tokens = results.getInt("tokens"); if(tokens >= 0) { return true; } } } catch(SQLException e) { e.printStackTrace(); } return false; } private static int getVotes(String playerName) { try { String name2 = playerName.replaceAll("_", " "); Statement statement = con.createStatement(); String query = "SELECT * FROM players WHERE username = '" + name2 + "'"; ResultSet results = statement.executeQuery(query); while(results.next()) { int tokens = results.getInt("tokens"); if(tokens >= 1) { return tokens; } } } catch(SQLException e) { e.printStackTrace(); } return 0; } private static boolean removeVotes(String playerName) { try { String name2 = playerName.replaceAll("_", " "); query("DELETE FROM `players` WHERE username = '"+name2+"';"); } catch (Exception e) { e.printStackTrace(); return false; } return true; } } The above code is an example of a class that connects to your website database, checks to see if the user voted, and if he/she has, then it handles the rewards. Begin by locating the following piece of code: String IP="WEB HOST IP"; String DB="DATABASE NAME"; String User="DATABASE USERNAME"; String Pass="DATABASE PASSWORD"; Just as you did in process.php on your webhost, enter the correct details corresponding to your database. For the WEB HOST IP, simply use the IP of your web-host. If you do not know it, it is on the left hand side of the main page of your cPanel. After that, scroll down and find the method claimVote, which should look like this: public static void claimVote(Player player) { createConnection(); if (checkVote(player.getUsername())) { int tokens = getVotes(player.getUsername()); //Number of times this user has voted. Number of unclaimed votes. //methods for giving rewards to players goes here. //for example, I might give a user 50,000 coins per 1 time they voted, so I would do: player.getInventory().add(new Item(995, 50000 * tokens)); // adds 50,000 * token amount of coins to the player's inventory. //remove votes after user as claimed. removeVotes(player.getUsername()); } else { player.sendMessage("You either have not voted, already claimed your reward, or there was an error."); player.sendMessage("Either try again in a few minutes, or contact a staff member."); } } You'll need to properly change the syntax of certain things (such as the parameters of the method depending on what your sources uses as the player class, and the function of how to get the player's username. Here's how you add rewards for the player: Find: int tokens = getVotes(player.getUsername()); //Number of times this user has voted. Number of unclaimed votes. //methods for giving rewards to players goes here. //for example, I might give a user 50,000 coins per 1 time they voted, so I would do: player.getInventory().add(new Item(995, 50000 * tokens)); // adds 50,000 * token amount of coins to the player's inventory. It grabs the player's tokens from the database (if any), then stores it as an integer. You can use this any way you want to. For example, you'll see that right after it, I made the system add 50,000 coins times the number of votes in the database. The methods and classes in which your server operates upon will be different, so you'll need to customize this method a bit. It helps to use an IDE (like eclipse). We're almost done! There's only a few steps left to do. After saving Vote.class navigate to your webhost and go to the main page of the cPanel. Just as before, scroll down to the "Databases" category and select the "Remote MySQL" button. You'll see something like this: In the box, enter the IP upon which your server is hosted. If you have a VPS, it will be the IP address of that, if you're hosting it on your home computer, you can put the IP address of your network. What does this do? It whitelists the IP so that connects can be made and your server can access the database files. That's it!!!! Generally users create a command called "claim" or "vote" that calls the Vote.claimVote(player); method, but feel free to do it any way you'd like. Thanks, Please let me know if I left out anything or if there's any errors.
  19. [video=youtube;qchPLaiKocI]https://www.youtube.com/watch?v=qchPLaiKocI[/video]
  20. I'm not sure if this has been submitted already (to lazy to search) but maybe we can have a TeamSpeak for RuneLocus? I'm willing to pay for the payments each month or every 3 months, depending on how payment is done. I also know how to make all the ranks with icons and etc, including permissions. Please leave your comment about this below. I don't see how this could turn up bad or anything.. It's just an extra feature we can provide to the community of RuneLocus.
  21. I love the new RuneLocus, and the forums. Well done! (: EDIT: Also, Keep it up as always. I maybe registred not long ago, but I've been looking on the forums and site, for a very long time :P
  22. This is my Callback link in the admincp for Runelocus. [code]http://www.runelocus.com/top-rsps-list/vote-39986-AnnihilatedPkerz%20-%20Pking%20Server/?i=[/code] I tried this link too. [code]http://www.runelocus.com/toplist/vote-39986-ANNIHILATEDPKERZ/[/code] And this is the Runelocus Callback URL. [code]http://www.annihilatedpkerz.com/vote/php/callback.php[/code] i also tried [code]http://annihilatedpkerz.com/vote/php/callback.php[/code] and this callback aswell. [code]http://annihilatedpkerz.com/vote/php/callback.php?callback=[/code] and ofc this [code] http://www.annihilatedpkerz.com/vote/php/callback.php?callback=[/code] idk if the www. makes a difference but anyways ive tried it and nothing. Yet it keeps saying, please vote on all Links. Wuuht?
  23. [url]http://imgur.com/eBWjGpn[/url] Uhm okay I tried to copy the RS3 text design, but this is as close as I can get.. Feel free to use or whatever.
  24. Hi, this is a serious issue and I want to know specifically who changed my servers votes... My server has been around for 2 years and running, but for some reason my votes went to 300 to 10 votes, WTF?!?!?! Everyone on my server is mad, and complaining... Please explain why in the hell, yes I said why in the hell did you do this!! You know who you are you cunt (sorry for language) I am talking to the particualar staff who did this and want justice for all my players... Please everyone worked so hard to get the votes so please do the right thing and give it back.. Please Pm me to notify me when I received me votes back. (The EXACT amount !) or Skype: Bacreator Regards, ~Me and the Community of the server.
×