There are slight differences of how to implement this based on the server code and client version you want to do this for.
Are you using L2JServer? What client you want this for?
Now for your question:
To create a java system that only works if the .u and .xdat interface are connected to it.
Can you elaborate on the "connected" part?
1. Do you mean the system to work only in case if .u and .xdat file metadata and/or contents match a certain check?
2. Do you want to send some new data dynamically to the interface? What part of the interface are you interested to show it in?
3. Do you want two-way communication between UI <-> Server, request fetch data, await loading, display data?
Can you elaborate on the "connected" part?
1. Do you mean the system to work only in case if .u and .xdat file metadata and/or contents match a certain check?
2. Do you want to send some new data dynamically to the interface? What part of the interface are you interested to show it in?
3. Do you want two-way communication between UI <-> Server, request fetch data, await loading, display data?
I think there only a few cases. Most of them involve communication using existing packets (at least decoding part does not need to be implemented). And perhaps custom packets? Say you want to send a particular packet from UI (actionable by user click), is it possible? And same thing in reverse, if server sends you a packet, what are options in client to display it? Perhaps repurpose a particular packet in certain ways? I think that should cover what OP is asking about.
I am interested in those questions as well. How much is possible? And if there are existing examples. I'm sure we there are complicated examples too, since there was a topic earlier about JSON and parsing of it. It would be good to list examples and tools.
Ис вери посибл. Ю кен сьорч екземпльі в олдовьіх и трушньіх защитах типа р-гвард или как его там. Екст на пакетку, по опкоду найти нужньій и модифицировать, актуально как для клиентских, так и о серверньіх пакетов.
The easiest way is through a well-placed RequestServerBypass() packet (in Interface.u), which you will intercept at a very specific point. If it is not sent, then you deduct they are not using your interface and you kill the connection.