Jump to content
  • 0

how do i make a classic server?


Question

9 answers to this question

Recommended Posts

  • 0
Posted
12 hours ago, kazurengan said:

anyone has an updated tutorial on how to do it please?

i can't find it. thank you

public final class Server {
    public static void main(String[] args) {
        final Server server = new Server();
        server.setClassic(true);
        server.start();
    }
}

You are welcome.

  • 0
Posted (edited)
6 minutes ago, lord_rex said:

public final class Server {
    public static void main(String[] args) {
        final Server server = new Server();
        server.setClassic(true);
        server.start();
    }
}

You are welcome.

You're stupid as fuck.

You can't even write a proper code you fuck.

server.startSocket();
server.setThreads(4);

 

Edited by Kara`
  • 0
Posted
2 minutes ago, Kara` said:

You're stupid as fuck.

You can't even write a proper code you fuck.


server.startSocket();
server.setThreads(4);

 

Your code is not retail-like you nub.

  • 0
Posted
23 minutes ago, lord_rex said:

Your code is not retail-like you nub.

Your plain nab u dont even know how to open a damn server. Return back to system.out.println gipsy.

Learn that after set the chronicle u want u must open socket.. dear god you're amateur as fuck.

  • 0
Posted
On 3/10/2019 at 4:27 PM, Kara` said:

Your plain nab u dont even know how to open a damn server. Return back to system.out.println gipsy.

Learn that after set the chronicle u want u must open socket.. dear god you're amateur as fuck.

Amateur? ME?! You are the nab who cannot even create a proper bridge between MMOCore and Olympiad Games.

 

See the code snippet and LEARN from the professionals!

 

public abstract class MMOController<T extends MMOConnection<T, RP, SP>, RP extends ReceivablePacket<T, RP, SP>, SP extends SendablePacket<T, RP, SP>> {
    // ... lots of code is here
  
    @Inject
    private OlympiadGamesService olympiadGamesService;
  
  	/**
	 * An easy way to apply any special limitations on incoming connections. At default it contains
	 * a flood protection.<br>
	 * Overriding implementations should call the super method before anything else gets checked.<br>
	 * <br>
	 * NOTE: Uses a special way of logging to avoid console flood.
	 * 
	 * @param sc the inbound connection from a possible client
	 * @return true if the connection is valid, and should be allowed, no otherwise
	 */
	protected boolean acceptConnectionFrom(SocketChannel sc) {
        if (olympiadGamesService.isLoser((L2PcInstance) sc)) {
          _log.warn("Player who lost olympiad games should not be able to connect!");
          return false;
        }
      
		final String host = sc.socket().getInetAddress().getHostAddress();
		
		final Result isFlooding = _accepts.isFlooding(host, true);
		
		switch (isFlooding) {
			case REJECTED: {
				_log.warn("Rejected connection from " + host);
				return false;
			}
			case WARNED: {
				_log.warn("Connection over warn limit from " + host);
				return true;
			}
			default:
				return true;
		}
	}
  
  	/**
	 * An easy way to apply any special limitations on incoming packets. At default it contains a
	 * flood protection.<br>
	 * Overriding implementations should call the super method before anything else gets checked.<br>
	 * <br>
	 * NOTE: Uses a special way of logging to avoid console flood.
	 * 
	 * @param client the associated client
	 * @param opcode the opcode of the potential packet (for debugging purposes)
	 * @return true if the client can be allowed to receive a packet, no otherwise
	 */
	protected boolean canReceivePacketFrom(T client, int opcode) {
        if (olympiadGamesService.isLoser(client.getPlayer()) {
          _log.warn("Player who lost olympiad games should not be able to receive packets from the server!");
          return false;
        }
      
		final String key = client.getValidUID();
		
		switch (Result.max(_packets.isFlooding(key, true), _errors.isFlooding(key, false))) {
			case REJECTED: {
				_log.warn("Rejected packet (0x" + Integer.toHexString(opcode) + ") from " + client);
				return false;
			}
			case WARNED: {
				_log.warn("Packet over warn limit (0x" + Integer.toHexString(opcode) + ") from " + client);
				return true;
			}
			default:
				return true;
		}
	}
}

 

  • 0
Posted

why is there all this garbage java shitcode in the l2off section take it back where it belongs pls

 

On 3/10/2019 at 2:49 AM, kazurengan said:

anyone has an updated tutorial on how to do it please?

i can't find it. thank you

YOU can't, there is no tutorial, you want classic l2off server then you gotta prepare a fat stack of benjamins (that means a lot of money for those who are english-challenged) and rent the files from one of the russian guys.

 

HOWEVER - i get the feeling you're actually after a classic l2j pack and instructions on how to use that garbage, in which case you're posting in the wrong section this is section for l2off files you won't get any help with that here

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


  • Posts

    • well i have some files with a lot of codes that i started a project 3-4 years ago ,  and a lot of fixes but they are interlude ...  what options do i have now ?   is there any interface or a patch something can work for all people that will join server .. will have bars menus inventory etc ..  FONTS more bold letters on chat and title - names fro characters and npcs? , create character menu lobby etc like classic ?    or what other options do i have with an interlude java project that i got?
    • Your options are , 1. pay for files like lucera 2. pay for a dev to create what u need 3. learn how to code and u do it urself 4. find the old discontinued interlude classic source from mobius and work with that.  5. there are some heavily modded interlude files on other forums that offer what u asking ( interface , classic/essence style etc)
    • Since ur interested on the latest client(s) Your best bet is l2jmobius.  Their free repo is more than enough to get you started. They also offer a subscription of 100$ in order to access the latest sources. A big + is the community there is pretty active and helpful.
    • Hey chatgpt. Make me a website for my private l2jserver called l2karma. Make no mistakes.
    • Server Description L2 Karma is a permanent Interlude 1x server built on L2J with retail-like mechanics and a long-term vision — not a seasonal reset or wipe server. We focus on competitive longevity, fair play, and a community where every player matters. Core Features ✔ True x1 Experience (XP / SP / Adena / Drop / Spoil) ✔ Retail mechanics — no forced progression shortcuts ✔ Single-box only (1 client per player — no multi-boxing advantage) ✔ No Pay-to-Win & strict anti-RMT policy ✔ Already live and active with players progressing ✔ Long-term commitment — 3-year guarantee ✔ Designed for meaningful PvP and community cohesion 📏 Server Rules No Multi-Boxing Advantage — Only one client per account is allowed. No Pay-to-Win Items or Services — VIP runes are optional and do not lock content. No Bots, Scripts, or Automation — Zero tolerance. Suspicious accounts will be banned. No Exploit Abuse — Reporting exploits immediately avoids penalties. No RMT / Real Money Trading — Strict enforcement — economy integrity matters. Fair Play Only — Harassment and racism are not allowed in chat or Discord. Respect Admin Decisions — Official rulings are final to keep the server stable. 📥 How to Join 🔗 Website: https://l2karma.org 🔗 Discord: https://discord.gg/VV9RAfmnth Chronicle: Interlude Rates: x1 (Classic) Box Limit: Single Box 🧠 What Makes Us Different ✔ Permanent World — No resets ever ✔ Designed for players tired of wipe-cycle servers ✔ Community-centric growth — not rinse-and-repeat launches ✔ Competitive but fair environment ✔ Events, structured seasons, and ongoing content support
  • Topics

×
×
  • Create New...

Important Information

This community uses essential cookies to function properly. Non-essential cookies and third-party services are used only with your consent. Read our Privacy Policy and We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue..