Commit Graph

26 Commits

Author SHA1 Message Date
6944b51d13 This commit designates two changes: MIT and deprecation of Qt5 interface.
As I'm the only code contributor, I'm announcing that URTrator code
is now licensed under MIT license.

Also I'm deprecating Qt5 interface as it is really hard to write Qt
code and create installers with it. Maybe one day I even figure out
how to work with QtQuick (which attracts me more and more ATM) and
URTrator will use it, but not now.
2018-11-10 21:13:06 +05:00
39ac02dfc5 Fixes in mac build script, some gofmt works. 2018-11-10 20:57:28 +05:00
127e1b8ab9 Updated to latest GTK2 bindings API and moved to Gitlab. 2018-11-10 13:21:53 +05:00
070aa50762 Little profile refactoring and favorite server adding fix.
Done some refactoring on profiles handling. Too small, but deserve
these two lines in commit.

Fixed favorite server addition from scratch.
2017-05-13 01:08:56 +05:00
1e676437d8 Stability fixes, profile path and more.
Fixed a bunch of data races which should lead in stability improvements.

Added possibility to specify game profile path within profile item.

Added Urban Terror 4.3.2.
2017-05-08 23:38:54 +05:00
4020d52c03 Timer for tasks, servers autoupdating and other.
Added Timer - great package which will make periodic tasks to work.
Timer exposes "taskDone" event, which can be triggered when
task ends it's execution.

Added first periodic task - servers information updating. By
default it will execute every 10 minutes. Configurable thru
options.

Added new options pane: Servers updating. It controls all aspects
of servers updating thing. Master server address, servers
autoupdating checkbox and autoupdate timeout values are exposed
for now.

We're now on on 0.2.0-devel :).

Fixes #29.
2016-12-13 08:01:48 +05:00
384754276a Pooler data race fix and experimental qt5 interface.
Fixed Pooler's data race which occurs on every server's pinging
goroutine creation, because of uncontrolled write to current
requests counter. Protected it with mutex.

Added very experimental and not-yet-working qt5 interface. Maybe
it will be completed someday.
2016-12-13 04:47:17 +05:00
280c65f116 Distinguish bots from humans.
Players column now have three integers - first is real humans
count, second - bots count, and third - maximum players allowed
on this server. Also, sidebar will show bots count as well.
2016-11-26 07:38:26 +05:00
f127fdc9f4 Fixed players counting on servers update. 2016-11-23 07:41:14 +05:00
9e6cdfc869 Increased max ping requests to servers. Fixes #3. 2016-11-22 18:50:56 +05:00
8a3f2a9a2e Stop updating servers if we're failed to connect to master server. 2016-11-04 19:37:50 +05:00
4e9a6ae970 GLib threads initialization. 2016-11-04 18:46:07 +05:00
e2a9298f85 One more huge refactoring and quick connect widget working.
Refactored the way URTrator working with profiles - now everything
that could be taken from internal cache will be taken from cache.
The very same as with servers.

Moved all callbacks from callbacks to events, so we achieve full
asynchronity here and can launch anything in goroutines :).

Moved MainWindow-related game launching functions into another
file (mainwindow_launch.go).

Made quick connect widget working. Note, that even if you're on
Favorites and trying to connect to one of favorited servers but
with quick connect - you still have to choose right profile
near Launch button!

Maybe something else I forget.
2016-10-08 19:57:33 +05:00
cc20dca39c Favorites dialog server updates.
Favorites dialog now able to fetch server's information and
update list of available game profiles.
2016-10-08 00:29:46 +05:00
e46d203a3c Many fixes and debug prints removed.
Removed debug prints, as we don't really need them now.

Fixed database updating from cache, until now only inserts was working
fine, updates failing. All because of forgotten comma :(.

Reworked handling of icons in servers lists, now they didn't
recreated, but reused from created on application start. Can also
save us much memory for long runs.

Moved gamemode detector to mainwindow_helpers, where it should be.
2016-10-07 22:21:19 +05:00
464946b7f6 Favorites servers fix, one server update and show privates.
Fixed favorites servers - they now correctly added/removed in/from cache,
and also fixed favorite server edition dialog, which now also takes
advantage from server's cache.

Added new toolbar button for updating one server. It works :).

Added new column in servers lists, which shows is server is private or public.
2016-10-07 14:28:44 +05:00
51b23fa68f More debug output and servers refresh fix.
Fixed servers lists refresh. Despite on what list we're updating
(all servers or only favorites) server item should be updated in
both.
2016-10-07 02:50:52 +05:00
8cfbca284e Players parsing fixes and short info done.
Fixed players parsing in server's response, now we can show 0 players.

Showr info (kinda) completed, general server info, players and vars
are here. Some work on sorting is in ToDo.
2016-10-06 21:34:14 +05:00
0214ea7fce Toolbar label added.
It will show current operation or why you can't do something.
2016-10-06 17:50:08 +05:00
2efd47c301 Servers updating and ping detection fixes.
On servers updating when all data successfully gathered we're now
properly updating rows in Servers and Favorites lists.

Increased "simultaneous ping limit" for now, but anyway it provides
too bad results. Need to find a way to fix it.
2016-10-06 17:11:36 +05:00
9ce4ad8945 No need in strconv now. 2016-10-06 16:33:12 +05:00
f37dd3adfd Huge refactor regarding concurrency.
Now we have pooler which will pool connections (like pinging),
so there will be no timeouts due to "we have launched 100000 goroutines".

Reworked all code to use events (see Eventer). Still more work about
this to go.

Maybe more fixes I forgot.
2016-10-06 13:55:03 +05:00
c22744765b Favorites and database fixes, players info and extended server config.
Adding a favorite server now requires created valid profile. It will
not allow to create favorite server without proper profile.

Fixed servers updating database, now they put all fields there.

Added stubs for players info and extended server config things in
database.
2016-10-05 02:47:13 +05:00
063f6a622a Favorites and fixes.
Favorites functionality done, except editing favorite server.
Note, that game profile defined for favorite server have
higher priority on normal profile selected in combobox near
"Launch!" button. Later WILL be ignored.

Bunch of fixes is added.
2016-10-04 23:39:32 +05:00
4e6cca530b Fix segfault on macOS when port wasn't properly parsed. 2016-10-04 18:38:58 +05:00
ac938c16eb Initial commit, what works:
* Servers update
* Profile creation/edit/deletion
* Game launching
* Checks server version <> profile version.
2016-10-04 15:42:36 +05:00