JXClient
Client Commands
Key Bindings
List custom or recently added key bindings:
/bindings
Client Options
The client options are used with launching the client (i.e., java -jar jxclient.jar -<options>)
To access the client options, launch the client and use the –help option
java -jar jxclient.jar --help
Help File Output
No Full Screen
Disable full-screen mode.
–no-full-screen
-n
java -jar jxclient.jar -n
or
java -jar jxclient.jar --no-full-screen
Client Resolution
Resolution to use. [default is maximum not exceeding screen]
–resolution <width>x<height>
-r <width>x<height>
java -jar jxclient.jar --resolution 1280x720
or
java -jar jxclient.jar -r 1600x900
Skin
Skin name to use. Available skins: default, ragnorok.
–skin <skin>
-s <skin>
java -jar jxclient.jar --skin ragnorok
or
java -jar jxclient.jar -s default
Tile Size (aka zoom)
The size of map view tiles in pixels. It supports only 4, 32 or 64. 32 is the default Crossfire tile size, 4 is what the client needs for the minimap window, 64 is what the client uses by default for the map window.
–tile-size <n>
java -jar jxclient.jar --tile-size 32
Avoid Copy Area
Do not copy pixel areas when scrolling the map view. Instead always repaint all map squares.
–avoid-copy-area
java -jar jxclient.jar --avoid-copy-area
Enable OpenGL
Enable the OpenGL rendering pipeline.
–opengl
java -jar jxclient.jar --opengl
Specify Server
Select a server to connect to; skips main and metaserver windows.
–server <host>
java -jar jxclient.jar --server 127.0.0.1
or
java -jar jxclient.jar --server invidious2.meflin.net
Enable Debugging of GUI Elements
Enable debugging of GUI elements. Also shows width and height of the active GUI element.
–debug-gui
java -jar jxclient.jar --debug-gui
Log keyboard input.
–debug-keyboard <log-file>
java -jar jxclient.jar --debug-keyboard
Debug Protocal with Server
Log messages exchanged with the server.
–debug-protocol <log-file>
java -jar jxclient.jar --debug-protocol log.txt
Debug Screen Resolution
Log messages related to screen resolution.
–debug-screen <log-file>
java -jar jxclient.jar --debug-screen log.txt
Debug Sounds
Log messages related to sound.
–debug-sound <log-file>
java -jar jxclient.jar --debug-sound sound-log.txt
Addition Note
It is possible to combine multiple options in a single launch, like so:
java -jar jxclient.jar --server invidious2.meflin.net -r 1600x900 --tile-size 32
The above command would automatically connect to invidious2.meflin.net with a client window resolution of 1600px by 900px and a tile size of 32.
User Interface
dialog “Account management”: should not exist; instead “Account login” should have an option to create an account removed
dialog “Account creation”: should clear password fields after error “Passwords don't match!”
text input fields appear inactive if they do not have the focus
dialog “Characters for the account”: “disconnect” button is missing
dialog “Characters for the account”: shows outdated error message from previously open dialog “Character creation”
dialog “Characters for the account”: “play” is enabled even if no characters exist
dialog “Character creation”: should clear input field when opened
dialog “Character creation”: focus should be on name field after error “That account name contains illegal characters”
Creating a new account should automatically create a new character
fix the top bar, especially the “K” and “Q” buttons (maybe move 'setup' somewhere else?)
inventory filters: cursed, locked/unlocked, magic, and such
Bugs
server(?) silently truncates long passwords
magic map in dragoncave messes fog-of-war info
should not show “?” faces: pre-load all known faces into memory; use requestinfo image-info to pre-load all images
book popup is not centered
length of input field is calculated wrongly if spaces are present
calls Swing functions from non-EDT
Error message “got out of order comc” on console: do not send ncom commands before “player” message was received
plays level-up sound when login takes too long
smoothing doesn't work for burning hands
CfMap.getDarkness(x, y) is never called
message dialog scrollbars do not work correctly
headup display is shown before login
colors in message window are not always readable
map square above the player can’t be clicked to ‘lookat’ its contents
client can't open sound when another application is using it ; client opens exclusive sound lock ⇒ it should share audio
on the metaserver window, the tooltip won't wrap text for long descriptions
reported by gros: scrolling issues when moving, fixed by –avoid-copy-area ; windowed and full-screen, moving to the right only
Features
a gui for entering macros for commands, and letting you know what those commands are
add application icon
use different colors for say/chat/tell with different characters
retain dialog positions (message window) after resolution changes
add transparent message overlay to main window
click into skill window to ready skill
resizable dialog windows, especially message window [needs to replace Buffer with proper model class]
keybindings dialog; list existing bindings, add, remove, edit
skip frames if repainting takes too long
optimize map view repaints: only repaint changed areas
optionally display timestamps in message window
highlight tabs in message window on new messages
auto-reconnect / auto-relogin if connection breaks unexpectedly
add debug option to measure bandwidth
do not move arrow button when dropping items; the arrow should always stay right-most
shift+pageup/pagedown scrolls message window
merge older messages as well
add chat tab for each character
display motd and rules after login; by default display only changed rules (or highlight changes)
display xp for active skill on main window
support copy from message window or text input fields
support animations in floor/inventory/spell view
support shortcut belt
quest interface
highlight modified quests since last time the dialog was opened, so player knows what changes
have a visible notification (dialog opened or closed) when there is a quest event
advanced character creation dialog; with all pictures and statistics
puppet-like equipment management dialog
add a party interface window/tab
display keybindings on the inventory items; similar to what was done for spells
spell list should let bind or unbind keys
allow concurrent connections to more than one server
add different background images for book-like popups
properly format text in book popups
Features Requiring Server Changes
knowledge dialog added
indicators for poisoned, diseased, overloaded, confused, and various effects
store keybindings on the server