[Tool/Web/Other] SA-MP Version Changer, Server Browser and more
#1

SA-MP Server Browser



Important Note to all people that have installed this app before 21.01.2018

I have made a small mistake and you might not be able to update to a newer version, if you want to assure that your version isn't broken, please reinstall the application.

Description

This application offers a row of tools for the San Andreas-Multiplayer mod for the Grand Theft Auto: San Andreas game.

Features
  • Save your favourite servers
  • Access to a list of currently over 2000 servers
  • Version changer
  • Username history
  • Access to SA-MP Settings via graphical userinterface
  • Access to SA-MP chatlogs
  • Server history
  • MORE TO COME ...
    • Serverspecific usernames
    • Screenshot viewer
GitHub Page

The whole project is hosted on GitHub under the following link:

https://github.com/Bios-Marcel/ServerBrowser

Languages

This software is currently available in the following languages (some might not be perfectly and completly translated):
  • English
  • German
  • Georgian (Translated by Medzvel)
  • Greek (Translated by vassilis)
  • Dutch (Translated by Jsytlez)
  • Russian (Translated by Codeah)
  • Polish (Translated by AbyssMorgan)
  • Romanian (Translated by IstuntmanI)
  • Spanish (Translated by Unrea1, updated by RIDE2DAY)
  • Turkish (Translated by MustafaKemalAtaturk)
  • Bosnian (Translated by Tagic)
Pictures

There is a light and a dark theme, here are screenshots including both themes:





















Installation

Overall, you have 3 options:
  1. Downloading the latest launcher.jar file

    The latest launcher.jar is available under https://github.com/Bios-Marcel/Serve...eleases/latest , but it will require you to have Java 8 or later installed, i strongly suggest installing Java 9, since future versions of this project will use Java 9.
  2. Downloading the latest Installer

    The latest installer is also available under https://github.com/Bios-Marcel/Serve...eleases/latest
    Unlike when using the launcher.jar file, the installer won't require you to download anything other than the installer himself.
  3. Build all the stuff yourself

    Incase you are paranoid and scared that i might have infected the files in the release section, feel free to build the project yourself.
    For further information on how to build the project, check the Build Secti## on below
Troubleshooting
  • Your client isn't able to fetch servers

    If your Client isn't able to fetch any servers anymore, the first thing you should do, is to try and download the latest version of the client.

    The second thing you might want to check, is your firewall. Make sure you haven't blocked the application itself.
  • Your client doesn't start anymore
    In case your client doesn't start anymore, the first thing you should do, is to try and download the latest version of the client.

    If downloading the latest version of the client doens't help, try removing your currently installed Java runtime, if you have never installed a Java runtime, deinstall the ServerBrowser using the default Windows uninstalling procedure. After deleting Java and/or the ServerBrowser reinstall it.
Documentation

Javadoc is available under: https://bios-marcel.github.io/Server...w-summary.html

User Documentation (not complete) is available under: https://github.com/Bios-Marcel/ServerBrowser/wiki

You want to help?
You can help by reporting bugs, recommending new features or creating pull requests.

Another way for you to contribute, is to help localizing the application.

How to create a new language file

If you want to translate the program into another language, simply copy
Code:
/client/src/main/resources/com/msc/serverbrowser/localization/Lang_en.properties
and name it
Code:
lang_YOUR_COUNTRIES_SHORTCUT.propeties
. After having done the translation, send me the file or do a pull request on GitHub. Please be careful to not modify any of the key names, that means only edit whats behind a
Code:
=
. If possible try to escape all characters, since there is currently to UTF-8 support for language files.

To be localized

Note: Some of the follwing key-value pairs might already be correct, in that case i don't know it though.

German:
Done

Georgian:
Code:
errorFetchingServers=Couldn't fetch servers
favourites=Favourites
pageSize=PageSize
fetchingServers=Fetching servers, please wait a moment.
enterFilterValue=Enter filter value
lagcomp=lagcomp:
showTimestamps=Show times if available
locateGTAManually=Click here to enter your GTA path manually.
lastVisit=Last visit
visitWebsite=Visit Website
gtaNotFoundPrompt=Will be automatically detected if left empty
addToFavourites=Add to favourites
rememberLastView=Remember last view
inputMethodText=Input method text editing and language switching
ba=Bosnian
sureYouWantToRestoreLegacySettingsAswell=Do you also, in addition to the application settings, want to reset the SA-MP settings?
cantFindGTA=Can't find GTA installation
sureYouWantToRestoreLegacySettings=Are you sure, that you want to reset the SA-MP settings?
customSampPath=Custom SA-MP Path
noFavouriteServers=You don't have any favourites.
directmode=Directmode (Fix chat text drawing problems)
tr=Turkish
activePlayers=Active players: {0}
showChatlogColors=Show colors
showChatlogColorsAsText=Show colors as text
copyIpAddressAndPort=Copy IP address and port
donate=Donate
applyUsername=Apply username
all=All
removeUsernameSingular=Remove username
downloadingUpdate=Downloading update
history=History
restoreLegacySettingsToDefault=Restore SA-MP settings to default
removeUsernamePlural=Remove usernames
connectingToServer=Connecting to server
allowCachingSampVersions=Allow caching downloaded SA-MP versions
retrieving=Retrieving ...
connectToServer=Connect to server
removeFromFavourites=Remove from favourites
checkingForUpdates=Checking for updates
serverMightBeOfflineConnectAnyways=The server might not be online, do you want to try connecting to it anyways?
noServerHistory=You haven't joined any servers recently.
multicoreUsage=Multicore usage
openDonationPageTooltip=Opens the 'Donate' section of the GitHub project page
Greek:
Code:
errorFetchingServers=Couldn't fetch servers
favourites=Favourites
fetchingServers=Fetching servers, please wait a moment.
chatTimestamps=Chat Timestamps
enterFilterValue=Enter filter value
lagcomp=lagcomp:
showTimestamps=Show times if available
locateGTAManually=Click here to enter your GTA path manually.
lastVisit=Last visit
visitWebsite=Visit Website
gtaNotFoundPrompt=Will be automatically detected if left empty
addToFavourites=Add to favourites
ba=Bosnian
generalSettingsTitle=General
sureYouWantToRestoreLegacySettingsAswell=Do you also, in addition to the application settings, want to reset the SA-MP settings?
sampVersion=SA-MP Version {0}
cantFindGTA=Can't find GTA installation
ping=Ping:
sureYouWantToRestoreLegacySettings=Are you sure, that you want to reset the SA-MP settings?
noFavouriteServers=You don't have any favourites.
tr=Turkish
informationSettingsTitle=Information
showChatlogColors=Show colors
showChatlogColorsAsText=Show colors as text
copyIpAddressAndPort=Copy IP address and port
donate=Donate
applyUsername=Apply username
all=All
removeUsernameSingular=Remove username
downloadingUpdate=Downloading update
versionInfo=Version: {0}
history=History
chatlogs=Chatlogs
restoreLegacySettingsToDefault=Restore SA-MP settings to default
removeUsernamePlural=Remove usernames
connectingToServer=Connecting to server
retrieving=Retrieving ...
connectToServer=Connect to server
servers=Servers: {0}
removeFromFavourites=Remove from favourites
checkingForUpdates=Checking for updates
serverMightBeOfflineConnectAnyways=The server might not be online, do you want to try connecting to it anyways?
noServerHistory=You haven't joined any servers recently.
openDonationPageTooltip=Opens the 'Donate' section of the GitHub project page
Dutch:
Code:
errorFetchingServers=Couldn't fetch servers
favourites=Favourites
fetchingServers=Fetching servers, please wait a moment.
enterFilterValue=Enter filter value
lagcomp=lagcomp:
showTimestamps=Show times if available
locateGTAManually=Click here to enter your GTA path manually.
gamemodeTableHeader=Gamemode
lastVisit=Last visit
visitWebsite=Visit Website
addToFavourites=Add to favourites
ba=Bosnian
sureYouWantToRestoreLegacySettingsAswell=Do you also, in addition to the application settings, want to reset the SA-MP settings?
cantFindGTA=Can't find GTA installation
ping=Ping:
downloadSettingTitle=Downloads
sureYouWantToRestoreLegacySettings=Are you sure, that you want to reset the SA-MP settings?
map=Map:
website=Website:
noFavouriteServers=You don't have any favourites.
tr=Turkish
showChatlogColors=Show colors
showChatlogColorsAsText=Show colors as text
copyIpAddressAndPort=Copy IP address and port
donate=Donate
applyUsername=Apply username
all=All
removeUsernameSingular=Remove username
downloadingUpdate=Downloading update
history=History
restoreLegacySettingsToDefault=Restore SA-MP settings to default
removeUsernamePlural=Remove usernames
updatesSettingTitle=Updates
connectingToServer=Connecting to server
retrieving=Retrieving ...
connectToServer=Connect to server
servers=Servers: {0}
removeFromFavourites=Remove from favourites
checkingForUpdates=Checking for updates
serverMightBeOfflineConnectAnyways=The server might not be online, do you want to try connecting to it anyways?
noServerHistory=You haven't joined any servers recently.
serverOffline=Server is offline.
openDonationPageTooltip=Opens the 'Donate' section of the GitHub project page
Russian:
Code:
errorFetchingServers=Couldn't fetch servers
favourites=Favourites
enterFilterValue=Enter filter value
lagcomp=lagcomp:
showTimestamps=Show times if available
locateGTAManually=Click here to enter your GTA path manually.
lastVisit=Last visit
visitWebsite=Visit Website
addToFavourites=Add to favourites
ba=Bosnian
sureYouWantToRestoreLegacySettingsAswell=Do you also, in addition to the application settings, want to reset the SA-MP settings?
cantFindGTA=Can't find GTA installation
ping=Ping:
sureYouWantToRestoreLegacySettings=Are you sure, that you want to reset the SA-MP settings?
noFavouriteServers=You don't have any favourites.
tr=Turkish
showChatlogColors=Show colors
showChatlogColorsAsText=Show colors as text
copyIpAddressAndPort=Copy IP address and port
donate=Donate
applyUsername=Apply username
all=All
removeUsernameSingular=Remove username
downloadingUpdate=Downloading update
history=History
restoreLegacySettingsToDefault=Restore SA-MP settings to default
removeUsernamePlural=Remove usernames
connectingToServer=Connecting to server
retrieving=Retrieving ...
connectToServer=Connect to server
removeFromFavourites=Remove from favourites
checkingForUpdates=Checking for updates
serverMightBeOfflineConnectAnyways=The server might not be online, do you want to try connecting to it anyways?
noServerHistory=You haven't joined any servers recently.
openDonationPageTooltip=Opens the 'Donate' section of the GitHub project page
Polish:
Code:
favourites=Favourites
enterFilterValue=Enter filter value
lagcomp=lagcomp:
showTimestamps=Show times if available
lastVisit=Last visit
visitWebsite=Visit Website
addToFavourites=Add to favourites
ba=Bosnian
sureYouWantToRestoreLegacySettingsAswell=Do you also, in addition to the application settings, want to reset the SA-MP settings?
ping=Ping:
sureYouWantToRestoreLegacySettings=Are you sure, that you want to reset the SA-MP settings?
tr=Turkish
showChatlogColors=Show colors
showChatlogColorsAsText=Show colors as text
copyIpAddressAndPort=Copy IP address and port
donate=Donate
applyUsername=Apply username
all=All
removeUsernameSingular=Remove username
downloadingUpdate=Downloading update
history=History
restoreLegacySettingsToDefault=Restore SA-MP settings to default
removeUsernamePlural=Remove usernames
connectToServer=Connect to server
removeFromFavourites=Remove from favourites
checkingForUpdates=Checking for updates
Romanian:
Code:
lagcomp=lagcomp:
lastVisit=Last visit
visitWebsite=Visit Website
addToFavourites=Add to favourites
ba=Bosnian
generalSettingsTitle=General
sureYouWantToRestoreLegacySettingsAswell=Do you also, in addition to the application settings, want to reset the SA-MP settings?
ping=Ping:
sureYouWantToRestoreLegacySettings=Are you sure, that you want to reset the SA-MP settings?
showChatlogColorsAsText=Show colors as text
copyIpAddressAndPort=Copy IP address and port
restoreLegacySettingsToDefault=Restore SA-MP settings to default
connectToServer=Connect to server
removeFromFavourites=Remove from favourites
Spanish:
Code:
favourites=Favourites
enterFilterValue=Enter filter value
showTimestamps=Show times if available
lastVisit=Last visit
visitWebsite=Visit Website
addToFavourites=Add to favourites
ba=Bosnian
generalSettingsTitle=General
sureYouWantToRestoreLegacySettingsAswell=Do you also, in addition to the application settings, want to reset the SA-MP settings?
sureYouWantToRestoreLegacySettings=Are you sure, that you want to reset the SA-MP settings?
noFavouriteServers=You don't have any favourites.
tr=Turkish
showChatlogColors=Show colors
showChatlogColorsAsText=Show colors as text
copyIpAddressAndPort=Copy IP address and port
donate=Donate
applyUsername=Apply username
all=All
removeUsernameSingular=Remove username
downloadingUpdate=Downloading update
history=History
restoreLegacySettingsToDefault=Restore SA-MP settings to default
removeUsernamePlural=Remove usernames
no=No
connectingToServer=Connecting to server
connectToServer=Connect to server
removeFromFavourites=Remove from favourites
checkingForUpdates=Checking for updates
serverMightBeOfflineConnectAnyways=The server might not be online, do you want to try connecting to it anyways?
noServerHistory=You haven't joined any servers recently.
Turkish:
Code:
favourites=Favourites
pageSize=PageSize
enterFilterValue=Enter filter value
showTimestamps=Show times if available
gamemodeTableHeader=Gamemode
lastVisit=Last visit
visitWebsite=Visit Website
addToFavourites=Add to favourites
ba=Bosnian
sureYouWantToRestoreLegacySettingsAswell=Do you also, in addition to the application settings, want to reset the SA-MP settings?
ping=Ping:
sureYouWantToRestoreLegacySettings=Are you sure, that you want to reset the SA-MP settings?
fpsLimit=FPS Limit
website=Website:
showChatlogColors=Show colors
showChatlogColorsAsText=Show colors as text
copyIpAddressAndPort=Copy IP address and port
donate=Donate
applyUsername=Apply username
all=All
removeUsernameSingular=Remove username
downloadingUpdate=Downloading update
history=History
restoreLegacySettingsToDefault=Restore SA-MP settings to default
removeUsernamePlural=Remove usernames
retrieving=Retrieving ...
connectToServer=Connect to server
removeFromFavourites=Remove from favourites
checkingForUpdates=Checking for updates
Bosnian:
Code:
pageSize=PageSize
lagcomp=lagcomp:
gamemodeTableHeader=Gamemode
visitWebsite=Visit Website
addToFavourites=Add to favourites
ping=Ping:
fpsLimit=FPS Limit
showChatlogColorsAsText=Show colors as text
copyIpAddressAndPort=Copy IP address and port
connectToServer=Connect to server
removeFromFavourites=Remove from favourites
Build

This project is managed using gradle.

Structure
It is a multi-project consisting of 1 subproject

Code:
ServerBrowser			The parent project
|__ client				The Windows GUI client with which humans interact
The fact, that this is a multi-project is due to two components that don't exist anymore, this will soon be refactored.

Building with gradle
To see which tasks are available, run:

on Unix:

Code:
$ ./gradlew tasks
on Windows:

Code:
$ ./gradlew.bat tasks
The first time you execute __gradlew__ (gradle wrapper) it will download a local copy of gradle into the project folder __.gradle__. This will not be committed to version control.

You are of course free to use your own or systems copy of gradle, but this approach has the advantage that we all share the same version of gradle.

Running tasks on subprojects
To run tasks on the subprojects, you can either __cd__ into the subproject and run the task, e.g.:

Code:
$ cd client
$ ../gradlew run
Or run it from the parent project by prefixing the task with the subprojects name and a ":" (colon).

Code:
$ ./gradlew client:run
Assemble and test the build outputs. You will find the results in the __build__ folder of __client__.

Code:
$ ./gradlew build
Syncing gradle with Eclipse
Typically, when you import a gradle project into eclipse, it takes care of creating the eclipse project files via the plugin buildship.

However, if you want to be extra sure, donґt want to use the plugin or need to fix some synchronization issue between eclipse and gradle; It is useful to know how to manually do it:

From the parent project run:

Code:
$ ./gradlew eclipseClean eclipse
Eclipse will instantly reload the fresh project settings files.

Pipeline
__ServerBrowser__ utilizes advanced build techniques in order to assemble and optimize the output. The goal is to build the smallest possible 'self-contained' executable for Windows for the client.

__self-contained__ in this context means the JVM is bundled with the output.

In order to achieve this the following 2 step process is used:

1. Put all build outputs into a single JAR (fat JAR), including (transitive) dependencies.
2. Bundle the optimized JAR with a JVM and build a native container around them (exe/deb).

These steps map to these tools:

1. Gradle Shadow Plugin
2. javapackager + JavaFX-Gradle-Plugin

Our build scripts are largely glue around those tools.

Building the native output
Code:
$ ./gradlew jfxNative
This will generate an installable artifact in client/build/jfx/native. Depending on which platform you are building from, an EXE is generated on Windows, DEB/RPM on Linux and PKG/DMG on OSX.

We support Windows and Linux and in order to be able to generate an installer, some dependencies need to be installed.

Windows
- Inno Setup 5 or later

Linux (rpm)
- RPMBuild

Linux (deb)
- Debian packaging tools

Javapackager

The underlying technology for building native installer bundles is javapackager.
Learn more about it here:

- https://docs.oracle.com/javase/8/doc...packaging.html
- https://docs.oracle.com/javase/8/doc...apackager.html
- https://docs.oracle.com/javase/8/doc...apackager.html

Realising a signed build
Our builds are cryptographically signed. In order to build with signing enabled you need to setup 2 things.
  1. A local.properties file:

    Code:
    localSecretKeystorePassword = "choose super secret pw"
    localSecretKeyPassword = "choose super secret pw yet again!"
  2. Once you have your passwords setup, these can automatically generated for you with:

    Code:
    $ ./gradlew jfxGenerateKeyStore
    None of these files should __ever__ be commited to version control !
You need help?
Send me an E-Mail or send me a pm.
Reply
#2

Really good! I hope to see a cheaper hosted tab here aswell
Reply
#3

i will use this everytime i think about java so basically, never
Reply
#4

Quote:
Originally Posted by Freshncool
View Post
i will use this everytime i think about java so basically, never
btw, no need to install java or so, there i s a .exe delivered with a runtime
Reply
#5

Quote:
Originally Posted by [Bios]Marcel
View Post
btw, no need to install java or so, there i s a .exe delivered with a runtime

Still java
Reply
#6

Sad lief, it's in Java. Do you accept donations?
Reply
#7

Quote:
Originally Posted by Freshncool
View Post

Still java
https://www.youtube.com/watch?v=dlx519hWa9I
Reply
#8


spot the java user
Reply
#9

I am on the edge of killing myself
Reply
#10

Call +49 800 111 0 111 if you're suicidal
Reply
#11


testing java at $30


marcel's waifu Toroi
Reply
#12

Quote:
Originally Posted by [Bios]Marcel
Посмотреть сообщение
- Version changer (0.3a - 0.3.7, except for 0.3b, since the file wasn't on the original site anymore)
bruh
http://files.sa-mp.com/

> samp03bsvr_R2.tar.gz

Quote:
Originally Posted by Toroi
Посмотреть сообщение
Really good! I hope to see a cheaper hosted tab here aswell
https://www.youtube.com/watch?v=E4povfmX144
Reply
#13

It's a client, not a server.
Reply
#14

Quote:
Originally Posted by Freshncool
Посмотреть сообщение
It's a client, not a server.
Oh that explains a lot.
Reply
#15

Quote:
Originally Posted by Kaperstone
Посмотреть сообщение
Oh that explains a lot.
Well my post looked a little dire, i translated the github md for now xD
Reply
#16

Cool, keep up the good work.
Reply
#17

1star
Southclaws’s web browser does a better job+ a client changer really? I doubt anyone uses it
Reply
#18

Comparing an app to a lightweight webapp ... k xD
Reply
#19

Quote:
Originally Posted by Crystallize
Посмотреть сообщение
1star
Southclaws’s web browser does a better job+ a client changer really? I doubt anyone uses it
Hahah... Wait what?


Looks modern, unlike the ancient client we use, good job!
Reply
#20

Quote:
Originally Posted by [Bios]Marcel
Посмотреть сообщение
Comparing an app to a lightweight webapp ... k xD
So? Why would I hassle installing it etc when i can just visit southclaws website easy and fast.
Reply


Forum Jump:


Users browsing this thread: 3 Guest(s)