The online racing simulator
KingTracker - open source PHP insim tracker
KingTracker is open source insim tracker made with PHP and MySQL

Features

Players list (!pl)
  • detailed player info (controller, clutch, ...)
  • player country and timezone
  • kick / ban
Top laps ladder (!top)
  • filter by HLVC valid, controller, clutch, gear, setup flags
  • multiple filters combinations
  • players search
Track / host info (!tr)
  • current track info
  • list of WRs
Host configuration (!host)
  • car reset, can vote, pit stop, wrong way ...
  • track rotation
  • starting grid options - finish, random, reverse(top X or X% of cars or all)
  • allowed cars / handicaps (forced handicaps - can't be turned off in drivers setups)
  • enable / disable auto restart after race
  • restart after x seconds
  • good / great / top split and laps
Other features
  • admin web UI
  • automatic updates
More info
https://bitbucket.org/K0Z3L43V3R/kingtracker/wiki/Home

Source code
https://bitbucket.org/K0Z3L43V3R/kingtracker/overview

How to translate
https://bitbucket.org/K0Z3L43V ... tracker/wiki/Translations

Download
- windows
- linux

For installation info see readme file. It is still in development, you can see it in action on testing servers called KingTracker.



Credits
  • DANIEL-CRO - Draft detection
  • PHPInSimMod (PRISM) - packets definitions, packets decoding
Attached images
host_1.jpg
host_2.jpg
host_3.jpg
top.jpg
tr.jpg
admins.png
host_edit.png
hosts.png
settings_master.png
#2 - lucaf
Looks very nice!
Thumbs up
Thumbs up Na-na
uuuuu nice King!
Nice work!
Hehe finally forum podiumThumbs up

btw if peaple wanna see kingtracker at work there are 3 servers running called KingsTracker
Nice work there. Would it be hard to add tyres filtering?

I am asking because I have implemented a tracker myself, and I went by the hard way of using binary serialization and also I do manage data by hand (in a very well optimized way, almost).

But if I get it right, you just fill the database with data and then query by those filters. That makes it easier to implement new filters. Am I right?
Thanks, yes you are right, it's not hard to add new filters, all the lap data are already in database, not binary but all player / setup flags are separated to single values for better performance.
Are you hosting also KingsTracker Demo server? Can you put kick/ban voting possibility there? I survived one race there but it was like in a jungle Smile
New version v0.4.6
New version v0.4.6

Download
- windows
- linux

Starting grid options
- finish, random, reverse(top X or X% of cars or all)
Track rotations
- remove all players from grid
- do not allow players to join grid while voting
LFSW - fetching PBs

Host config
- allowed cars / handicaps (forced handicaps - can't be turned off in drivers setups)
- enable / disable auto restart after race
- restart after x seconds

ResultsService
- save last 10 races results
- save lap by lap events (split, lap time)

Commands
- recent, ban, kick ... are hidden now
- !tm
- !laps x
- !hours x
- !grid - show starting grid for next race
- !qualify - set qualify length
- !reorder - reorder starting grid (Race setup screen only)
Attached images
cars.jpg
grid.jpg
tm.jpg
Why cant I get any response from my lfs after I input those commands into LFS like "!tr,!host"?
I have already get the web-site and the monitor running in my server which running the lfs-dedicated host.

I am using version 0.5.0. There are some msg showing up , like "[2016-11-01 02:48:20] - Packet received: ISP_MSO" , in the monitor window after I typed something in the game.so I assume that the monitor was connected to my host correctly.
But still,there was nothing in my game's screen.

And PS, I already made myself as an admin through the web UI.
Quote from Sheepy1977 :Why cant I get any response from my lfs after I input those commands into LFS like "!tr,!host"?
I have already get the web-site and the monitor running in my server which running the lfs-dedicated host.

I am using version 0.5.0. There are some msg showing up , like "[2016-11-01 02:48:20] - Packet received: ISP_MSO" , in the monitor window after I typed something in the game.so I assume that the monitor was connected to my host correctly.
But still,there was nothing in my game's screen.

And PS, I already made myself as an admin through the web UI.

Are you admin on the server, like, the normal way? And does King Tracker have admin rights?

Make sure it is 'yes' for both. Idk what next though...
Quote from Sheepy1977 :Why cant I get any response from my lfs after I input those commands into LFS like "!tr,!host"?
I have already get the web-site and the monitor running in my server which running the lfs-dedicated host.

I am using version 0.5.0. There are some msg showing up , like "[2016-11-01 02:48:20] - Packet received: ISP_MSO" , in the monitor window after I typed something in the game.so I assume that the monitor was connected to my host correctly.
But still,there was nothing in my game's screen.

And PS, I already made myself as an admin through the web UI.

Does !help or !lh command work? Or other commands like !top etc?
Quote from Sheepy1977 :...

Please tell us more info, how you have it setup?
- is dedicated host on same computer as client game
- linux or windows

Double check that KingTracker is connected really to LFS dedicated host not your local game. In web UI edit host - IP, by default it's localhost 127.0.0.1:29999 and "Local InSim" have to be unchecked if you connecting to dedicated host.
Okay... Thanks and it did works!

The reason it cant work becuz I checked "local insim" which I dont know what it means ..

But however there was something else happened.

I drove in RO1 with XFG in a 3 laps race,when someone finished his race ,the app crashed .

The full messages showed in the console window were as followed:

======================================================================
The application has thrown an exception!
======================================================================
Zend\Db\Adapter\Exception\InvalidQueryException
Statement could not be executed (42S22 - 1054 - Unknown column 'car' in 'field
list')
----------------------------------------------------------------------
D:\www\vendor\zendframework\zend-db\src\Adapter\Driver\Pdo\Statement.php:244
#0 D:\www\vendor\zendframework\zend-db\src\TableGateway\AbstractTableGateway.php
(307): Zend\Db\Adapter\Driver\Pdo\Statement->execute()
#1 D:\www\vendor\zendframework\zend-db\src\TableGateway\AbstractTableGateway.php
(263): Zend\Db\TableGateway\AbstractTableGateway->executeInsert(Object(Zend\Db\S
ql\Insert))
#2 D:\www\module\Application\src\Application\Service\CoreService.php(95): Zend\D
b\TableGateway\AbstractTableGateway->insert(Array)
#3 D:\www\module\Insim\src\Insim\Service\ResultService.php(61): Application\Serv
ice\CoreService->save(Object(Insim\Model\ResultPlayer), Object(Zend\Db\TableGate
way\TableGateway))
#4 D:\www\module\Insim\src\Insim\Service\HostService.php(601): Insim\Service\Res
ultService->addResult(Object(Insim\Packets\isRES))
#5 D:\www\module\Insim\src\Insim\Service\HostService.php(56): Insim\Service\Host
Service->confirmedFinish(Object(Insim\Packets\isRES))
#6 D:\www\module\Insim\src\Insim\Service\InsimService.php(205): Insim\Service\Ho
stService->handlePacket(Array, 'T#\x00\x19natusa\x00\x00\x00\x00\x00...')
#7 D:\www\module\Insim\src\Insim\Service\InsimService.php(141): Insim\Service\In
simService->handlePacket('T#\x00\x19natusa\x00\x00\x00\x00\x00...')
#8 D:\www\module\Insim\src\Insim\Controller\InsimController.php(130): Insim\Serv
ice\InsimService->run()
#9 D:\www\module\Insim\src\Insim\Controller\InsimController.php(89): Insim\Contr
oller\InsimController->Run()
#10 D:\www\vendor\zendframework\zend-mvc\src\Controller\AbstractActionController
.php(82): Insim\Controller\InsimController->StartAction()
#11 [internal function]: Zend\Mvc\Controller\AbstractActionController->onDispatc
h(Object(Zend\Mvc\MvcEvent))
#12 D:\www\vendor\zendframework\zend-eventmanager\src\EventManager.php(490): cal
l_user_func(Array, Object(Zend\Mvc\MvcEvent))
#13 D:\www\vendor\zendframework\zend-eventmanager\src\EventManager.php(263): Zen
d\EventManager\EventManager->triggerListeners('dispatch', Object(Zend\Mvc\MvcEve
nt), Object(Closure))
#14 D:\www\vendor\zendframework\zend-mvc\src\Controller\AbstractController.php(1
18): Zend\EventManager\EventManager->triggerEventUntil(Object(Closure), Object(Z
end\Mvc\MvcEvent))
#15 D:\www\vendor\zendframework\zend-mvc\src\DispatchListener.php(114): Zend\Mvc
\Controller\AbstractController->dispatch(Object(Zend\Console\Request), Object(Ze
nd\Console\Response))
#16 [internal function]: Zend\Mvc\DispatchListener->onDispatch(Object(Zend\Mvc\M
vcEvent))
#17 D:\www\vendor\zendframework\zend-eventmanager\src\EventManager.php(490): cal
l_user_func(Array, Object(Zend\Mvc\MvcEvent))
#18 D:\www\vendor\zendframework\zend-eventmanager\src\EventManager.php(263): Zen
d\EventManager\EventManager->triggerListeners('dispatch', Object(Zend\Mvc\MvcEve
nt), Object(Closure))
#19 D:\www\vendor\zendframework\zend-mvc\src\Application.php(340): Zend\EventMan
ager\EventManager->triggerEventUntil(Object(Closure), Object(Zend\Mvc\MvcEvent))

#20 D:\www\public\index.php(42): Zend\Mvc\Application->run()
#21 {main}
======================================================================
Previous Exception(s):
======================================================================
PDOException
SQLSTATE[42S22]: Column not found: 1054 Unknown column 'car' in 'field list'
----------------------------------------------------------------------
D:\www\vendor\zendframework\zend-db\src\Adapter\Driver\Pdo\Statement.php:239
#0 D:\www\vendor\zendframework\zend-db\src\TableGateway\AbstractTableGateway.php
(307): Zend\Db\Adapter\Driver\Pdo\Statement->execute()
#1 D:\www\vendor\zendframework\zend-db\src\TableGateway\AbstractTableGateway.php
(263): Zend\Db\TableGateway\AbstractTableGateway->executeInsert(Object(Zend\Db\S
ql\Insert))
#2 D:\www\module\Application\src\Application\Service\CoreService.php(95): Zend\D
b\TableGateway\AbstractTableGateway->insert(Array)
#3 D:\www\module\Insim\src\Insim\Service\ResultService.php(61): Application\Serv
ice\CoreService->save(Object(Insim\Model\ResultPlayer), Object(Zend\Db\TableGate
way\TableGateway))
#4 D:\www\module\Insim\src\Insim\Service\HostService.php(601): Insim\Service\Res
ultService->addResult(Object(Insim\Packets\isRES))
#5 D:\www\module\Insim\src\Insim\Service\HostService.php(56): Insim\Service\Host
Service->confirmedFinish(Object(Insim\Packets\isRES))
#6 D:\www\module\Insim\src\Insim\Service\InsimService.php(205): Insim\Service\Ho
stService->handlePacket(Array, 'T#\x00\x19natusa\x00\x00\x00\x00\x00...')
#7 D:\www\module\Insim\src\Insim\Service\InsimService.php(141): Insim\Service\In
simService->handlePacket('T#\x00\x19natusa\x00\x00\x00\x00\x00...')
#8 D:\www\module\Insim\src\Insim\Controller\InsimController.php(130): Insim\Serv
ice\InsimService->run()
#9 D:\www\module\Insim\src\Insim\Controller\InsimController.php(89): Insim\Contr
oller\InsimController->Run()
#10 D:\www\vendor\zendframework\zend-mvc\src\Controller\AbstractActionController
.php(82): Insim\Controller\InsimController->StartAction()
#11 [internal function]: Zend\Mvc\Controller\AbstractActionController->onDispatc
h(Object(Zend\Mvc\MvcEvent))
#12 D:\www\vendor\zendframework\zend-eventmanager\src\EventManager.php(490): cal
l_user_func(Array, Object(Zend\Mvc\MvcEvent))
#13 D:\www\vendor\zendframework\zend-eventmanager\src\EventManager.php(263): Zen
d\EventManager\EventManager->triggerListeners('dispatch', Object(Zend\Mvc\MvcEve
nt), Object(Closure))
#14 D:\www\vendor\zendframework\zend-mvc\src\Controller\AbstractController.php(1
18): Zend\EventManager\EventManager->triggerEventUntil(Object(Closure), Object(Z
end\Mvc\MvcEvent))
#15 D:\www\vendor\zendframework\zend-mvc\src\DispatchListener.php(114): Zend\Mvc
\Controller\AbstractController->dispatch(Object(Zend\Console\Request), Object(Ze
nd\Console\Response))
#16 [internal function]: Zend\Mvc\DispatchListener->onDispatch(Object(Zend\Mvc\M
vcEvent))
#17 D:\www\vendor\zendframework\zend-eventmanager\src\EventManager.php(490): cal
l_user_func(Array, Object(Zend\Mvc\MvcEvent))
#18 D:\www\vendor\zendframework\zend-eventmanager\src\EventManager.php(263): Zen
d\EventManager\EventManager->triggerListeners('dispatch', Object(Zend\Mvc\MvcEve
nt), Object(Closure))
#19 D:\www\vendor\zendframework\zend-mvc\src\Application.php(340): Zend\EventMan
ager\EventManager->triggerEventUntil(Object(Closure), Object(Zend\Mvc\MvcEvent))

#20 D:\www\public\index.php(42): Zend\Mvc\Application->run()
#21 {main}
Glad you get it working, Thank you for bug report, here is latest fixed version

New version v0.5.0

Download
- windows
- linux
First of all,thank you for update the app so quickly .Second ,I still encountered a minor-bug which I already found a unusual way to solve it out.

My solution of this bug was add one line before line 266 of kingtracker\vendor\zendframework\zend-db\src\Adapter\Driver\Pdo\Connection.php,which was "$username='my db username';$password='my db password';"

PS:I did edit the file "kingtracker\config\autoload\global.php" with correct db username and password.

The error msgs were as followed:

D:\www>D:\phpStudy\php70n\php.exe -e d:/www/kingtracker/public/index.php insim s
tart -d
======================================================================
The application has thrown an exception!
======================================================================
Zend\ServiceManager\Exception\ServiceNotCreatedException
An exception was raised while creating "Insim\Controller\Insim"; no instance re
turned
----------------------------------------------------------------------
D:\www\kingtracker\vendor\zendframework\zend-servicemanager\src\ServiceManager.p
hp:941
#0 D:\www\kingtracker\vendor\zendframework\zend-servicemanager\src\AbstractPlugi
nManager.php(330): Zend\ServiceManager\ServiceManager->createServiceViaCallback(
Object(Closure), 'insimcontroller...', 'Insim\\Controlle...')
#1 D:\www\kingtracker\vendor\zendframework\zend-servicemanager\src\AbstractPlugi
nManager.php(289): Zend\ServiceManager\AbstractPluginManager->createServiceViaCa
llback(Object(Closure), 'insimcontroller...', 'Insim\\Controlle...')
#2 D:\www\kingtracker\vendor\zendframework\zend-servicemanager\src\ServiceManage
r.php(634): Zend\ServiceManager\AbstractPluginManager->createFromFactory('insimc
ontroller...', 'Insim\\Controlle...')
#3 D:\www\kingtracker\vendor\zendframework\zend-servicemanager\src\ServiceManage
r.php(597): Zend\ServiceManager\ServiceManager->doCreate('Insim\\Controlle...',
'insimcontroller...')
#4 D:\www\kingtracker\vendor\zendframework\zend-servicemanager\src\ServiceManage
r.php(530): Zend\ServiceManager\ServiceManager->create(Array)
#5 D:\www\kingtracker\vendor\zendframework\zend-servicemanager\src\AbstractPlugi
nManager.php(161): Zend\ServiceManager\ServiceManager->get('Insim\\Controlle...'
, true)
#6 D:\www\kingtracker\vendor\zendframework\zend-mvc\src\DispatchListener.php(94)
: Zend\ServiceManager\AbstractPluginManager->get('Insim\\Controlle...')
#7 [internal function]: Zend\Mvc\DispatchListener->onDispatch(Object(Zend\Mvc\Mv
cEvent))
#8 D:\www\kingtracker\vendor\zendframework\zend-eventmanager\src\EventManager.ph
p(490): call_user_func(Array, Object(Zend\Mvc\MvcEvent))
#9 D:\www\kingtracker\vendor\zendframework\zend-eventmanager\src\EventManager.ph
p(263): Zend\EventManager\EventManager->triggerListeners('dispatch', Object(Zend
\Mvc\MvcEvent), Object(Closure))
#10 D:\www\kingtracker\vendor\zendframework\zend-mvc\src\Application.php(340): Z
end\EventManager\EventManager->triggerEventUntil(Object(Closure), Object(Zend\Mv
c\MvcEvent))
#11 D:\www\kingtracker\public\index.php(42): Zend\Mvc\Application->run()
#12 {main}
======================================================================
Previous Exception(s):
======================================================================
Zend\ServiceManager\Exception\ServiceNotCreatedException
An exception was raised while creating "Insim\Service\LFSWService"; no instance
returned
----------------------------------------------------------------------
D:\www\kingtracker\vendor\zendframework\zend-servicemanager\src\ServiceManager.p
hp:941
#0 D:\www\kingtracker\vendor\zendframework\zend-servicemanager\src\AbstractPlugi
nManager.php(330): Zend\ServiceManager\ServiceManager->createServiceViaCallback(
Object(Closure), 'insimcontroller...', 'Insim\\Controlle...')
#1 D:\www\kingtracker\vendor\zendframework\zend-servicemanager\src\AbstractPlugi
nManager.php(289): Zend\ServiceManager\AbstractPluginManager->createServiceViaCa
llback(Object(Closure), 'insimcontroller...', 'Insim\\Controlle...')
#2 D:\www\kingtracker\vendor\zendframework\zend-servicemanager\src\ServiceManage
r.php(634): Zend\ServiceManager\AbstractPluginManager->createFromFactory('insimc
ontroller...', 'Insim\\Controlle...')
#3 D:\www\kingtracker\vendor\zendframework\zend-servicemanager\src\ServiceManage
r.php(597): Zend\ServiceManager\ServiceManager->doCreate('Insim\\Controlle...',
'insimcontroller...')
#4 D:\www\kingtracker\vendor\zendframework\zend-servicemanager\src\ServiceManage
r.php(530): Zend\ServiceManager\ServiceManager->create(Array)
#5 D:\www\kingtracker\vendor\zendframework\zend-servicemanager\src\AbstractPlugi
nManager.php(161): Zend\ServiceManager\ServiceManager->get('Insim\\Controlle...'
, true)
#6 D:\www\kingtracker\vendor\zendframework\zend-mvc\src\DispatchListener.php(94)
: Zend\ServiceManager\AbstractPluginManager->get('Insim\\Controlle...')
#7 [internal function]: Zend\Mvc\DispatchListener->onDispatch(Object(Zend\Mvc\Mv
cEvent))
#8 D:\www\kingtracker\vendor\zendframework\zend-eventmanager\src\EventManager.ph
p(490): call_user_func(Array, Object(Zend\Mvc\MvcEvent))
#9 D:\www\kingtracker\vendor\zendframework\zend-eventmanager\src\EventManager.ph
p(263): Zend\EventManager\EventManager->triggerListeners('dispatch', Object(Zend
\Mvc\MvcEvent), Object(Closure))
#10 D:\www\kingtracker\vendor\zendframework\zend-mvc\src\Application.php(340): Z
end\EventManager\EventManager->triggerEventUntil(Object(Closure), Object(Zend\Mv
c\MvcEvent))
#11 D:\www\kingtracker\public\index.php(42): Zend\Mvc\Application->run()
#12 {main}
======================================================================
Zend\Db\Adapter\Exception\RuntimeException
Connect Error: SQLSTATE[HY000] [1045] Access denied for user 'user'@'localhost'
(using password: YES)
----------------------------------------------------------------------
D:\www\kingtracker\vendor\zendframework\zend-db\src\Adapter\Driver\Pdo\Connectio
n.php:277
#0 D:\www\kingtracker\vendor\zendframework\zend-servicemanager\src\AbstractPlugi
nManager.php(330): Zend\ServiceManager\ServiceManager->createServiceViaCallback(
Object(Closure), 'insimcontroller...', 'Insim\\Controlle...')
#1 D:\www\kingtracker\vendor\zendframework\zend-servicemanager\src\AbstractPlugi
nManager.php(289): Zend\ServiceManager\AbstractPluginManager->createServiceViaCa
llback(Object(Closure), 'insimcontroller...', 'Insim\\Controlle...')
#2 D:\www\kingtracker\vendor\zendframework\zend-servicemanager\src\ServiceManage
r.php(634): Zend\ServiceManager\AbstractPluginManager->createFromFactory('insimc
ontroller...', 'Insim\\Controlle...')
#3 D:\www\kingtracker\vendor\zendframework\zend-servicemanager\src\ServiceManage
r.php(597): Zend\ServiceManager\ServiceManager->doCreate('Insim\\Controlle...',
'insimcontroller...')
#4 D:\www\kingtracker\vendor\zendframework\zend-servicemanager\src\ServiceManage
r.php(530): Zend\ServiceManager\ServiceManager->create(Array)
#5 D:\www\kingtracker\vendor\zendframework\zend-servicemanager\src\AbstractPlugi
nManager.php(161): Zend\ServiceManager\ServiceManager->get('Insim\\Controlle...'
, true)
#6 D:\www\kingtracker\vendor\zendframework\zend-mvc\src\DispatchListener.php(94)
: Zend\ServiceManager\AbstractPluginManager->get('Insim\\Controlle...')
#7 [internal function]: Zend\Mvc\DispatchListener->onDispatch(Object(Zend\Mvc\Mv
cEvent))
#8 D:\www\kingtracker\vendor\zendframework\zend-eventmanager\src\EventManager.ph
p(490): call_user_func(Array, Object(Zend\Mvc\MvcEvent))
#9 D:\www\kingtracker\vendor\zendframework\zend-eventmanager\src\EventManager.ph
p(263): Zend\EventManager\EventManager->triggerListeners('dispatch', Object(Zend
\Mvc\MvcEvent), Object(Closure))
#10 D:\www\kingtracker\vendor\zendframework\zend-mvc\src\Application.php(340): Z
end\EventManager\EventManager->triggerEventUntil(Object(Closure), Object(Zend\Mv
c\MvcEvent))
#11 D:\www\kingtracker\public\index.php(42): Zend\Mvc\Application->run()
#12 {main}
======================================================================
PDOException
SQLSTATE[HY000] [1045] Access denied for user 'user'@'localhost' (using passwor
d: YES)
----------------------------------------------------------------------
D:\www\kingtracker\vendor\zendframework\zend-db\src\Adapter\Driver\Pdo\Connectio
n.php:266
#0 D:\www\kingtracker\vendor\zendframework\zend-servicemanager\src\AbstractPlugi
nManager.php(330): Zend\ServiceManager\ServiceManager->createServiceViaCallback(
Object(Closure), 'insimcontroller...', 'Insim\\Controlle...')
#1 D:\www\kingtracker\vendor\zendframework\zend-servicemanager\src\AbstractPlugi
nManager.php(289): Zend\ServiceManager\AbstractPluginManager->createServiceViaCa
llback(Object(Closure), 'insimcontroller...', 'Insim\\Controlle...')
#2 D:\www\kingtracker\vendor\zendframework\zend-servicemanager\src\ServiceManage
r.php(634): Zend\ServiceManager\AbstractPluginManager->createFromFactory('insimc
ontroller...', 'Insim\\Controlle...')
#3 D:\www\kingtracker\vendor\zendframework\zend-servicemanager\src\ServiceManage
r.php(597): Zend\ServiceManager\ServiceManager->doCreate('Insim\\Controlle...',
'insimcontroller...')
#4 D:\www\kingtracker\vendor\zendframework\zend-servicemanager\src\ServiceManage
r.php(530): Zend\ServiceManager\ServiceManager->create(Array)
#5 D:\www\kingtracker\vendor\zendframework\zend-servicemanager\src\AbstractPlugi
nManager.php(161): Zend\ServiceManager\ServiceManager->get('Insim\\Controlle...'
, true)
#6 D:\www\kingtracker\vendor\zendframework\zend-mvc\src\DispatchListener.php(94)
: Zend\ServiceManager\AbstractPluginManager->get('Insim\\Controlle...')
#7 [internal function]: Zend\Mvc\DispatchListener->onDispatch(Object(Zend\Mvc\Mv
cEvent))
#8 D:\www\kingtracker\vendor\zendframework\zend-eventmanager\src\EventManager.ph
p(490): call_user_func(Array, Object(Zend\Mvc\MvcEvent))
#9 D:\www\kingtracker\vendor\zendframework\zend-eventmanager\src\EventManager.ph
p(263): Zend\EventManager\EventManager->triggerListeners('dispatch', Object(Zend
\Mvc\MvcEvent), Object(Closure))
#10 D:\www\kingtracker\vendor\zendframework\zend-mvc\src\Application.php(340): Z
end\EventManager\EventManager->triggerEventUntil(Object(Closure), Object(Zend\Mv
c\MvcEvent))
#11 D:\www\kingtracker\public\index.php(42): Zend\Mvc\Application->run()
#12 {main}
Will UI support other languages?

And a little bug..

While change driver, the leader board still valid on previous driver, not the current driver.
Quote from Sheepy1977 :
My solution of this bug was add one line before line 266 of kingtracker\vendor\zendframework\zend-db\src\Adapter\Driver\Pdo\Connection.php,which was "$username='my db username';$password='my db password';"

PS:I did edit the file "kingtracker\config\autoload\global.php" with correct db username and password.

Please edit db username and password in both files global.php (used for debugging) and local.php, then editing of Connection.php shouldn't be necessary.

Quote from kagurazakayukari :Will UI support other multi-languages?

And a little bug..

While change driver, the leader board still valid on previous driver, not the current driver.

Thanks for bug report, I'll look on it. And no other languages support yet, but I want to add translation support soon.
Quote from K0Z3L_43V3R :Please edit db username and password in both files global.php (used for debugging) and local.php, then editing of Connection.php shouldn't be necessary.



Thanks for bug report, I'll look on it. And no other languages support yet, but I want to add translation support soon.

Okay nice to hear that! Thumbs up I'm trying to understand how to convert to Chinese last night but failed... It might be a little complicated on language coding

However I still confuse on something,while open track with custom layout, the split and lap messages on any of those lap time are all stick to WR split and WR lap. May it possible to change to current the fastest driver's time as WR record on message module or just not activate it? Looking

And it will be okay if data can be log and sort with different setting (becauz may change to another layout or the GT3 class is too slow compare to stock GTR, might need some different sorting when the limition of car is different)

Still some bugs:
a.Track rotation not working... Automatic restart not working...
b.How to set reverse top 10 position properly? I've set that but it just remain the normal start position....
New version v0.5.1b
- Translation support (how to add language) - partial, more translatable strings will be added in next updates
- FIX automatic restart not working in some cases
- Temporarily disabled split and lap notifications on open tracks

If you have enabled automatic updates, KingTracker will update automatically (!reload)

Download
- windows
- linux

Quote from kagurazakayukari :...

I have temporarily disabled split and lap notifications on open tracks, using current fastest driver's time as WR record on open tracks sounds good I'll add that in next updates. Lap times are saved with all info (car restrictions, layout name ...) so it shouldn't be hard add some filters into Top laps chart.

There was bug with automatic restart in some cases, should be fixed in latest version. Attached sample config for track rotation and reverse grid. After setting up track rotation you can test it with "!test rotate" command.
Attached images
lfs_00000099.jpg
lfs_00000100.jpg
lfs_00000101.jpg
Simplified Chinese translation~

Quote from K0Z3L_43V3R :
I have temporarily disabled split and lap notifications on open tracks, using current fastest driver's time as WR record on open tracks sounds good I'll add that in next updates. Lap times are saved with all info (car restrictions, layout name ...) so it shouldn't be hard add some filters into Top laps chart.

There was bug with automatic restart in some cases, should be fixed in latest version. Attached sample config for track rotation and reverse grid. After setting up track rotation you can test it with "!test rotate" command.

Okay it's very nice to hear the Lap times saved with these info~ should be easy to make a tool to export data from database and show them on webpage~ Does it record the tyre compounds?

And I have set the reverse grid as follows last night but still not work... Should driver numbers above the follow settings and it will work?
Attached files
zh_CN.txt - 1.4 KB - 424 views
The lastest test showed that automatic update is not working, once execute !reload , it crash all of sudden.(have tried 0.5.1b)

However the language support is very fine! This is how Simplified Chinese perform Wave
Nice Smile Updating should work, its working at test servers. How you starting tracker, with kingtracker.bat or manualy? Bat script is restarting tracker if it crashed. That's how updating works - new files are downloaded and tracker is stopped then bat script restart tracker. Update check is done every 3 hours or at tracker start. In case of error they are logged in /log folder.
-
(kagurazakayukari) DELETED by kagurazakayukari : useless one...

FGED GREDG RDFGDR GSFDG