evoesports / evosc Goto Github PK
View Code? Open in Web Editor NEWEvoSC is a modern server-controller for TM²/TM2020 running on PHP7.4
Home Page: https://evoesports.gg
License: Other
EvoSC is a modern server-controller for TM²/TM2020 running on PHP7.4
Home Page: https://evoesports.gg
License: Other
How about adding a current cp counter display for each player on main screen Ex... cp 2/5 and/or adding current cp to Score table (pressing Tab key) and Live rankings.
If this is wrong place to add ideas...sry... i am new to github.
Describe the bug
Maps Details does not work when clicked on it (top right), does not work in the / list either
EvoSC (please complete the following information):
When using git (please complete the following information):
Would be nice if chose cp trackers are limited to, lets say 5 rows, and if there starts a sixth row
it becomes scrollable/expandable, with only 5 lines showing
not a big issue on this map, but if we got to a map wich 60+ checkpoints (not so common, but these still exists, it becomes a bit "bulky"
Just a nice to have (and only important for RPG Stuff :) )
I realize it says that you're only accepting bug reports for the master branch, and this is happening on develop. If you would rather not have them, feel free to let me know in the comments and I will not be reporting any further issues on develop, even though I feel like issues there should be noted somewhere as well.
Describe the bug
Scheduled message saving / adding from within the ingame UI is not working. Hitting Add doesn't close the window and doesn't save the message.
Expected behavior
The new message should have been saved and the window should disappear.
To Reproduce
Use //messages
click add and fill out the fields, hit save.
Screenshots/Logs
EscRun->execute(): EvoSC encountered an error: Argument 2 passed to EvoSC\Modules\InfoMessages\InfoMessages::update() must be an instance of Illuminate\Support\Collection, instance of stdClass given
EscRun->execute(): #0 [internal function]: EvoSC\Modules\InfoMessages\InfoMessages::update()
#1 EvoSC/core/Classes/ManiaLinkEvent.php(174): call_user_func_array()
#2 EvoSC/core/Controllers/EventController.php(262): EvoSC\Classes\ManiaLinkEvent::call()
#3 EvoSC/core/Controllers/EventController.php(78): EvoSC\Controllers\EventController::mpPlayerManialinkPageAnswer()
#4 EvoSC/core/Commands/EscRun.php(222): EvoSC\Controllers\EventController::handleCallbacks()
#5 EvoSC/vendor/symfony/console/Command/Command.php(255): EvoSC\Commands\EscRun->execute()
#6 EvoSC/vendor/symfony/console/Application.php(1000): Symfony\Component\Console\Command\Command->run()
#7 EvoSC/vendor/symfony/console/Application.php(271): Symfony\Component\Console\Application->doRunCommand()
#8 EvoSC/vendor/symfony/console/Application.php(147): Symfony\Component\Console\Application->doRun()
#9 EvoSC/esc(63): Symfony\Component\Console\Application->run()
#10 {main}
EvoSC (please complete the following information):
0.9.14
When using git (please complete the following information):
d250018
Describe the bug
MxDetails fails to retrieve data for tracks in TM2020. While using the "GET" feature, the app gets thrown "400 Bad Request" errors (which also bugs the app a bit by not showing Map Details window), while opening the same links in the browser works well.
Expected behavior
Normally, it should get the details for the track, and also should open the Map Details window when required.
To Reproduce
Load a track, check the log to see "400 Bad Request" errors. Same happens when I try to press the "Details" button in the UI.
Screenshots/Logs
[15:14:52] EvoSC\Classes\RestClient::get(): GET: https://trackmania.exchange/api/maps/get_map_info/multi/159XBIpjid7Wh4mjIRQ6wazyme4
[15:14:53] EvoSC\Classes\Hook->execute(): Exception: Client error: `GET https://trackmania.exchange/api/maps/get_map_info/multi/159XBIpjid7Wh4mjIRQ6wazyme4` resulted in a `400 Bad Request` response:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN""http://www.w3.org/TR/html4/strict.dtd">
<HTML><HEAD><TITLE>Bad Reques (truncated...)
#0 C:\Users\manta\git\EvoSC-Dev\vendor\guzzlehttp\guzzle\src\Middleware.php(65): GuzzleHttp\Exception\RequestException::create(Object(GuzzleHttp\Psr7\Request), Object(GuzzleHttp\Psr7\Response))
#1 C:\Users\manta\git\EvoSC-Dev\vendor\guzzlehttp\promises\src\Promise.php(203): GuzzleHttp\Middleware::GuzzleHttp\{closure}(Object(GuzzleHttp\Psr7\Response))
#2 C:\Users\manta\git\EvoSC-Dev\vendor\guzzlehttp\promises\src\Promise.php(156): GuzzleHttp\Promise\Promise::callHandler(1, Object(GuzzleHttp\Psr7\Response), Array)
#3 C:\Users\manta\git\EvoSC-Dev\vendor\guzzlehttp\promises\src\TaskQueue.php(47): GuzzleHttp\Promise\Promise::GuzzleHttp\Promise\{closure}()
#4 C:\Users\manta\git\EvoSC-Dev\vendor\guzzlehttp\guzzle\src\Handler\CurlMultiHandler.php(118): GuzzleHttp\Promise\TaskQueue->run()
#5 C:\Users\manta\git\EvoSC-Dev\vendor\guzzlehttp\guzzle\src\Handler\CurlMultiHandler.php(145): GuzzleHttp\Handler\CurlMultiHandler->tick()
#6 C:\Users\manta\git\EvoSC-Dev\vendor\guzzlehttp\promises\src\Promise.php(246): GuzzleHttp\Handler\CurlMultiHandler->execute(true)
#7 C:\Users\manta\git\EvoSC-Dev\vendor\guzzlehttp\promises\src\Promise.php(223): GuzzleHttp\Promise\Promise->invokeWaitFn()
#8 C:\Users\manta\git\EvoSC-Dev\vendor\guzzlehttp\promises\src\Promise.php(267): GuzzleHttp\Promise\Promise->waitIfPending()
#9 C:\Users\manta\git\EvoSC-Dev\vendor\guzzlehttp\promises\src\Promise.php(225): GuzzleHttp\Promise\Promise->invokeWaitList()
#10 C:\Users\manta\git\EvoSC-Dev\vendor\guzzlehttp\promises\src\Promise.php(62): GuzzleHttp\Promise\Promise->waitIfPending()
#11 C:\Users\manta\git\EvoSC-Dev\vendor\guzzlehttp\guzzle\src\Client.php(182): GuzzleHttp\Promise\Promise->wait()
#12 C:\Users\manta\git\EvoSC-Dev\core\Classes\RestClient.php(78): GuzzleHttp\Client->request('GET', 'https://trackma...', Array)
#13 C:\Users\manta\git\EvoSC-Dev\core\Modules\MxDetails\MxDetails.php(120): EvoSC\Classes\RestClient::get('https://trackma...', Array)
#14 C:\Users\manta\git\EvoSC-Dev\core\Controllers\MapController.php(134): EvoSC\Modules\MxDetails\MxDetails::loadMxDetails(Object(EvoSC\Models\Map))
#15 [internal function]: EvoSC\Controllers\MapController::beginMap(Object(EvoSC\Models\Map))
#16 C:\Users\manta\git\EvoSC-Dev\core\Classes\Hook.php(79): call_user_func(Array, Object(EvoSC\Models\Map))
#17 C:\Users\manta\git\EvoSC-Dev\core\Classes\Hook.php(164): EvoSC\Classes\Hook->execute(Object(EvoSC\Models\Map))
#18 C:\Users\manta\git\EvoSC-Dev\core\Controllers\EventController.php(224): EvoSC\Classes\Hook::fire('BeginMap', Object(EvoSC\Models\Map))
#19 C:\Users\manta\git\EvoSC-Dev\core\Controllers\EventController.php(61): EvoSC\Controllers\EventController::mpBeginMap(Array)
#20 C:\Users\manta\git\EvoSC-Dev\core\Commands\EscRun.php(216): EvoSC\Controllers\EventController::handleCallbacks(Array)
#21 C:\Users\manta\git\EvoSC-Dev\vendor\symfony\console\Command\Command.php(255): EvoSC\Commands\EscRun->execute(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#22 C:\Users\manta\git\EvoSC-Dev\vendor\symfony\console\Application.php(1000): Symfony\Component\Console\Command\Command->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#23 C:\Users\manta\git\EvoSC-Dev\vendor\symfony\console\Application.php(271): Symfony\Component\Console\Application->doRunCommand(Object(EvoSC\Commands\EscRun), Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#24 C:\Users\manta\git\EvoSC-Dev\vendor\symfony\console\Application.php(147): Symfony\Component\Console\Application->doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#25 C:\Users\manta\git\EvoSC-Dev\esc(59): Symfony\Component\Console\Application->run()
#26 {main}
[15:14:53] EvoSC\Classes\Hook->execute(): ["EvoSC\\Controllers\\MapController","beginMap"]
EvoSC (please complete the following information):
When using git (please complete the following information):
Hello guys,
i just recognized that the process RAM (TrackmaniaServer.exe) is raising up to 500MB while the other process running with PyPlanet/Uaseco are around 175MB - 250MB without players on it. Its lowering after shuttingdown EvoSC.
Server is running 4 days without a restart on Windows x64
EvoSC Version 0.96.31
TMServer Version 2020-12-10
Describe the bug
Some (all?) targeted slash commands seem to target a random user instead of the user nickname given in the slash command.
Expected behavior
Commands like //kick anormaluser1
should target the player with the nickname 'anormaluser1'.
To Reproduce
We discovered this when an admin tried to kick and mute a user last night, and instead another user (the first on the player list?) received the punishment, with that nickname as the reason.
Screenshots/Logs
Game log:
[2020/07/07 05:45:49] <chat> [-UR_pLQ-Qdy0T1wbgNLgMw (anormaluser1)] [dumb, kickworthy thing]
[2020/07/07 05:46:14] <chat> [YOxKV3HwTL2xLYl10totMA (aerocrane)] //kick anormaluser1
EvoSC log:
[05:46:14] ChatCommand->execute(): Call: EvoSC\Controllers\PlayerController -> kickPlayer(strawberry ice cream, //kick, anormaluser1)
[05:46:14] ChatMessage->sendAll(): <info> strawberry ice cream kicked Jovach. Reason: anormaluser1.</>
EvoSC (please complete the following information):
When using git (please complete the following information):
Hey,
With the new update when I use a warm up the interface appears but goes down out of the screen.
It is a bug or bad setup ?
Ty
Gmask
Describe the bug
When we do /target it displays the target but when we pass a cp it does not display the + or the - below.
And he does not update when we change map !
Screenshots/Logs
https://user-images.githubusercontent.com/15847867/101984100-9566fd80-3c7f-11eb-9b75-f5163b85012c.png
EvoSC (please complete the following information):
I see that u recieve informations from the plugin and our servers ...
Is it the whole setup and configuration ? What for infos do u collect ?
EvoSC-Version: 0.97.4
Hallo,
ich habe den alten und von allen geliebten Controler Fast als Bild mal eingefügt. Das CP Live ranking sehr wichtig ist.
Das mit den Punkten wär für jeden Organisator so eine extreme Erleichterung das die alle bestehen könnten nur noch euren Controller zu verwenden! Das sind so mal die ersten wünsche die ich äußeren kann!
After setting up EvoSC it fails to boot/start.
(i'm using the trackmania 2020 server.)
To Reproduce
After i start it via CMD this error shows up.
Screenshots/Logs
[14:33:16] EscRun->execute(): Starting...
[14:33:16] Database::init(): Connecting to database...
[14:33:16] Database::init(): Database connected.
PHP Fatal error: Uncaught TypeError: Argument 1 passed to EvoSC\Classes\RestClient::init() must be of the type string, null given, called in C:\Users\Administrator\Desktop\EvoSC\core\Commands\EscRun.php on line 150 and defined in C:\Users\Administrator\Desktop\EvoSC\core\Classes\RestClient.php:37
Stack trace:
#0 C:\Users\Administrator\Desktop\EvoSC\core\Commands\EscRun.php(150): EvoSC\Classes\RestClient::init(NULL)
#1 C:\Users\Administrator\Desktop\EvoSC\vendor\symfony\console\Command\Command.php(255): EvoSC\Commands\EscRun->execute(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#2 C:\Users\Administrator\Desktop\EvoSC\vendor\symfony\console\Application.php(1000): Symfony\Component\Console\Command\Command->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#3 C:\Users\Administrator\Desktop\EvoSC\vendor\symfony\console\Application.php(271): Symfony\Component\Console\Application->doRunCommand(Object(EvoSC\Comma in C:\Users\Administrator\Desktop\EvoSC\core\Classes\RestClient.php on line 37Fatal error: Uncaught TypeError: Argument 1 passed to EvoSC\Classes\RestClient::init() must be of the type string, null given, called in C:\Users\Administrator\Desktop\EvoSC\core\Commands\EscRun.php on line 150 and defined in C:\Users\Administrator\Desktop\EvoSC\core\Classes\RestClient.php:37
Stack trace:
#0 C:\Users\Administrator\Desktop\EvoSC\core\Commands\EscRun.php(150): EvoSC\Classes\RestClient::init(NULL)
#1 C:\Users\Administrator\Desktop\EvoSC\vendor\symfony\console\Command\Command.php(255): EvoSC\Commands\EscRun->execute(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#2 C:\Users\Administrator\Desktop\EvoSC\vendor\symfony\console\Application.php(1000): Symfony\Component\Console\Command\Command->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#3 C:\Users\Administrator\Desktop\EvoSC\vendor\symfony\console\Application.php(271): Symfony\Component\Console\Application->doRunCommand(Object(EvoSC\Comma in C:\Users\Administrator\Desktop\EvoSC\core\Classes\RestClient.php on line 37
EvoSC (please complete the following information):
Did i miss something?
Thanks for any help or comment!
Hey first of all great piece of software you guys open sourced. Thanks for that.
I have a few problems, first i dont know how to disable modules. I tried to disable the donations module by changing enabled to false in its config (core/Modules/Donations/donations.config.json) but this has no effect and the donation UI is still rendered. Same for the Pay2Play widget.
Secondly i have no idea where to put the timelimit for the round time. I added <timeattack_limit>360000</timeattack_limit> to the tracklist file. But when starting EvoSC it says that there is no time defined and it will use the default time, which is 10 minutes.
Describe the bug
After a clean setup ranks are not calculated properly. No ranks were displayed first, even though local records on maps existed. After useing the esc fix:scores commands ranks for all players have been set to 9999. Even for people without local records yet.
The Stats Table shows 0 in the locales field, even though this player has local records.
Expected behavior
There should be enough data to calculate the ranks properly.
To Reproduce
Screenshots/Logs
+--------+--------+----------+----------+--------+---------+------+-----------+-------+------+------------+---------------------+
| Player | Visits | Playtime | Finishes | Locals | Ratings | Wins | Donations | Score | Rank | created_at | updated_at |
+--------+--------+----------+----------+--------+---------+------+-----------+-------+------+------------+---------------------+
| 2 | 8 | 11655 | 55 | 0 | 0 | 22 | 0 | 0 | 9999 | NULL | 2020-08-28 09:31:24 |
| 3 | 2 | 40 | 0 | 0 | 0 | 0 | 0 | 0 | 9999 | NULL | 2020-08-26 18:28:19 |
| 33 | 3 | 3610 | 6 | 0 | 0 | 0 | 0 | 0 | 9999 | NULL | 2020-08-27 20:10:59 |
| 34 | 1 | 40 | 0 | 0 | 0 | 0 | 0 | 0 | 9999 | NULL | 2020-08-27 19:06:55 |
+--------+--------+----------+----------+--------+---------+------+-----------+-------+------+------------+---------------------+
EvoSC (please complete the following information):
EvoSC-Version 0.92.18
This bug occurs only on the develop branch, anyway I think it could be interesting for you to have this report.
Describe the bug
When the cp-diffs plugin is enabled, a script error occurs when player passes the 101st checkpoint of a map.
https://i.imgur.com/1k03ux3.jpg
After the script error, the little widget above the race time seems to be stucked at '100', even when the player restarts map and even when map is skipped. The only solution is to disconnect and reconnect to the server, or run //resetall command.
https://i.imgur.com/J2zf6Ef.jpg
Expected behavior
No error
To Reproduce
EvoSC (please complete the following information):
When using git (please complete the following information):
When there isn't an "access-rights" table in the database, and despite the code in Models/AccessRight.php which is supposed to make one if there is not, the controller is not creating thesaid table and crashes because, I suppose it's trying to TRUNCATE an unexisting table.
Trace :
In Connection.php line 664:
[Illuminate\Database\QueryException (42S02)]
SQLSTATE[42S02]: Base table or view not found: 1146 La table 'fcevo.access-rights' n'existe pas (SQL: select exists
(select * from `access-rights` where `name` = player_mute) as `exists`)
Exception trace:
at S:\Servs\EvoSC-master\vendor\illuminate\database\Connection.php:664
Illuminate\Database\Connection->runQueryCallback() at S:\Servs\EvoSC-master\vendor\illuminate\database\Connection.php:624
Illuminate\Database\Connection->run() at S:\Servs\EvoSC-master\vendor\illuminate\database\Connection.php:333
Illuminate\Database\Connection->select() at S:\Servs\EvoSC-master\vendor\illuminate\database\Query\Builder.php:2426
Illuminate\Database\Query\Builder->exists() at S:\Servs\EvoSC-master\core\Models\AccessRight.php:31
EvoSC\Models\AccessRight::add() at S:\Servs\EvoSC-master\core\Controllers\ChatController.php:31
EvoSC\Controllers\ChatController::init() at S:\Servs\EvoSC-master\core\Commands\EscRun.php:153
EvoSC\Commands\EscRun->execute() at S:\Servs\EvoSC-master\vendor\symfony\console\Command\Command.php:255
Symfony\Component\Console\Command\Command->run() at S:\Servs\EvoSC-master\vendor\symfony\console\Application.php:1000
Symfony\Component\Console\Application->doRunCommand() at S:\Servs\EvoSC-master\vendor\symfony\console\Application.php:271
Symfony\Component\Console\Application->doRun() at S:\Servs\EvoSC-master\vendor\symfony\console\Application.php:147
Symfony\Component\Console\Application->run() at S:\Servs\EvoSC-master\esc:63
In Connection.php line 326:
[PDOException (42S02)]
SQLSTATE[42S02]: Base table or view not found: 1146 La table 'fcevo.access-rights' n'existe pas
Exception trace:
at S:\Servs\EvoSC-master\vendor\illuminate\database\Connection.php:326
PDO->prepare() at S:\Servs\EvoSC-master\vendor\illuminate\database\Connection.php:326
Illuminate\Database\Connection->Illuminate\Database\{closure}() at S:\Servs\EvoSC-master\vendor\illuminate\database\Connection.php:657
Illuminate\Database\Connection->runQueryCallback() at S:\Servs\EvoSC-master\vendor\illuminate\database\Connection.php:624
Illuminate\Database\Connection->run() at S:\Servs\EvoSC-master\vendor\illuminate\database\Connection.php:333
Illuminate\Database\Connection->select() at S:\Servs\EvoSC-master\vendor\illuminate\database\Query\Builder.php:2426
Illuminate\Database\Query\Builder->exists() at S:\Servs\EvoSC-master\core\Models\AccessRight.php:31
EvoSC\Models\AccessRight::add() at S:\Servs\EvoSC-master\core\Controllers\ChatController.php:31
EvoSC\Controllers\ChatController::init() at S:\Servs\EvoSC-master\core\Commands\EscRun.php:153
EvoSC\Commands\EscRun->execute() at S:\Servs\EvoSC-master\vendor\symfony\console\Command\Command.php:255
Symfony\Component\Console\Command\Command->run() at S:\Servs\EvoSC-master\vendor\symfony\console\Application.php:1000
Symfony\Component\Console\Application->doRunCommand() at S:\Servs\EvoSC-master\vendor\symfony\console\Application.php:271
Symfony\Component\Console\Application->doRun() at S:\Servs\EvoSC-master\vendor\symfony\console\Application.php:147
Symfony\Component\Console\Application->run() at S:\Servs\EvoSC-master\esc:63
Describe the bug
After using the restart-evo command on the Server, Chat is getting spammend and Evo will not properly start.
Expected behavior
Evo should start properly.
To Reproduce
using //restart-evosc after a fresh installation.
Screenshots/Logs
[10:22:26] restart_evosc(): Old process is terminating.
Error in /app/core/global-functions.php on Line 419
Call to undefined function pcntl_exec()
===============================================================================
#0 /app/core/Commands/EscRun.php(256): restart_evosc()
#1 /app/core/Classes/ChatCommand.php(176): EvoSC\Commands\EscRun::EvoSC\Commands\{closure}(Object(EvoSC\Models\Player), '//restart-evosc')
#2 /app/core/Controllers/EventController.php(130): EvoSC\Classes\ChatCommand->execute(Object(EvoSC\Models\Player), '//restart-evosc')
#3 /app/core/Controllers/EventController.php(57): EvoSC\Controllers\EventController::mpPlayerChat(Array)
#4 /app/core/Commands/EscRun.php(218): EvoSC\Controllers\EventController::handleCallbacks(Array)
#5 /app/vendor/symfony/console/Command/Command.php(255): EvoSC\Commands\EscRun->execute(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#6 /app/vendor/symfony/console/Application.php(1000): Symfony\Component\Console\Command\Command->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#7 /app/vendor/symfony/console/Application.php(271): Symfony\Component\Console\Application->doRunCommand(Object(EvoSC\Commands\EscRun), Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#8 /app/vendor/symfony/console/Application.php(147): Symfony\Component\Console\Application->doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#9 /app/esc(59): Symfony\Component\Console\Application->run()
#10 {main}```
**EvoSC (please complete the following information):**
- 0.94.3
EvoSC-Version: 0.83.x
Branch: master
Current-Commit: 9f18692
Describe the feature you'd like to see in EvoSC
Instead of trying to hit the small buttons that often have a shifted collision boundary depending on the size of the window, there should be a way to switch between the pages of the leaderboard using the mouse scroll wheel. This also makes it faster and easier to navigate to the page you want.
I suggest scroll down goes right (higher page number) and scroll up goes left (lower page number).
Edit:
Just to add to this, it could be practical to have this on all widgets and windows in EvoSC that use some kind of pagination, if this is possible.
Add a command to have a list of who is last to connect to the server
Describe the bug
Local records not refreshing, if u click on it, u can get actual table
Expected behavior
Should local records refreshing.
To Reproduce
Screenshots/Logs
EvoSC (please complete the following information):
When using git (please complete the following information):
EvoSC-Version: 0.97.4
Describe the bug
In ManiaPlanet, when i try to add mappack the controller gives me an error and no maps are added.
An error occured calling EvoSC\Modules\MxDetails\MxDetails::showDetails: Client error: `GET https://api.mania.exchange/api/maps/get_map_info/multi/wiUfcShfNjgfIv49SsEKvvWqShm` resulted in a `404 Not Found` response:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xml (truncated...)
Expected behavior
It should add all of the maps,
To Reproduce
Please explain what led to the issue.
EvoSC (please complete the following information):
Describe the feature you'd like to see in EvoSC
Having the ability to customize the location of the PID file and the name of this file as well would be pretty helpful in organizing and creating cleaner monitoring scripts for the controller, especially in bigger systems. I guess you would only need one config option for this where you can provide the full path to the PID file, like /run/my_tm_servers/myserver_evosc.pid
. Perhaps having this in server.config.json would work fine, or add a command line option.
Describe the bug
Every time I start the Server this Error occurs.
PHP Fatal error: Uncaught Error: Class 'EvoSC\Controllers\' not found in C:\Server\Trackmania\EvoSC\core\Controllers\ControllerController.php:29
System:
Windows 10 (Version 2004)
PHP 7.4.7
Expected behavior
To start without errors.
To Reproduce
Screenshots/Logs
Executing migrations...
Nothing to migrate.
Connecting to server...
Connection established.
______ _____ ______
/ ____/ _______ / ___// ____/
/ __/| | / / __ \__ \/ /
/ /___| |/ / /_/ /__/ / /___
/_____/|___/\____/____/\____/ 0.91.0
[16:13:31] EscRun->execute(): Starting...
[16:13:31] Database::init(): Connecting to database...
[16:13:31] Database::init(): Database connected.
[16:13:32] TemplateController::loadTemplates(): Loading templates...
[16:13:32] ChatController::init(): Chat router started.
[16:13:32] MapController::loadMaps(): Loading maps
..........
PHP Warning: preg_replace(): Compilation failed: missing terminating ] for character class at offset 20 in C:\Server\Trackmania\EvoSC\core\Controllers\ControllerController.php on line 21
PHP Warning: preg_replace(): Compilation failed: missing terminating ] for character class at offset 20 in C:\Server\Trackmania\EvoSC\core\Controllers\ControllerController.php on line 21
PHP Warning: preg_replace(): Compilation failed: missing terminating ] for character class at offset 20 in C:\Server\Trackmania\EvoSC\core\Controllers\ControllerController.php on line 21
PHP Warning: preg_replace(): Compilation failed: missing terminating ] for character class at offset 20 in C:\Server\Trackmania\EvoSC\core\Controllers\ControllerController.php on line 21
PHP Warning: preg_replace(): Compilation failed: missing terminating ] for character class at offset 20 in C:\Server\Trackmania\EvoSC\core\Controllers\ControllerController.php on line 21
PHP Warning: preg_replace(): Compilation failed: missing terminating ] for character class at offset 20 in C:\Server\Trackmania\EvoSC\core\Controllers\ControllerController.php on line 21
PHP Warning: preg_replace(): Compilation failed: missing terminating ] for character class at offset 20 in C:\Server\Trackmania\EvoSC\core\Controllers\ControllerController.php on line 21
PHP Warning: preg_replace(): Compilation failed: missing terminating ] for character class at offset 20 in C:\Server\Trackmania\EvoSC\core\Controllers\ControllerController.php on line 21
PHP Warning: preg_replace(): Compilation failed: missing terminating ] for character class at offset 20 in C:\Server\Trackmania\EvoSC\core\Controllers\ControllerController.php on line 21
PHP Warning: preg_replace(): Compilation failed: missing terminating ] for character class at offset 20 in C:\Server\Trackmania\EvoSC\core\Controllers\ControllerController.php on line 21
PHP Warning: preg_replace(): Compilation failed: missing terminating ] for character class at offset 20 in C:\Server\Trackmania\EvoSC\core\Controllers\ControllerController.php on line 21
PHP Warning: preg_replace(): Compilation failed: missing terminating ] for character class at offset 20 in C:\Server\Trackmania\EvoSC\core\Controllers\ControllerController.php on line 21
PHP Warning: preg_replace(): Compilation failed: missing terminating ] for character class at offset 20 in C:\Server\Trackmania\EvoSC\core\Controllers\ControllerController.php on line 21
PHP Warning: preg_replace(): Compilation failed: missing terminating ] for character class at offset 20 in C:\Server\Trackmania\EvoSC\core\Controllers\ControllerController.php on line 21
PHP Warning: preg_replace(): Compilation failed: missing terminating ] for character class at offset 20 in C:\Server\Trackmania\EvoSC\core\Controllers\ControllerController.php on line 21
PHP Warning: preg_replace(): Compilation failed: missing terminating ] for character class at offset 20 in C:\Server\Trackmania\EvoSC\core\Controllers\ControllerController.php on line 21
PHP Warning: preg_replace(): Compilation failed: missing terminating ] for character class at offset 20 in C:\Server\Trackmania\EvoSC\core\Controllers\ControllerController.php on line 21
PHP Warning: preg_replace(): Compilation failed: missing terminating ] for character class at offset 20 in C:\Server\Trackmania\EvoSC\core\Controllers\ControllerController.php on line 21
PHP Warning: preg_replace(): Compilation failed: missing terminating ] for character class at offset 20 in C:\Server\Trackmania\EvoSC\core\Controllers\ControllerController.php on line 21
PHP Warning: preg_replace(): Compilation failed: missing terminating ] for character class at offset 20 in C:\Server\Trackmania\EvoSC\core\Controllers\ControllerController.php on line 21
PHP Warning: preg_replace(): Compilation failed: missing terminating ] for character class at offset 20 in C:\Server\Trackmania\EvoSC\core\Controllers\ControllerController.php on line 21
PHP Fatal error: Uncaught Error: Class 'EvoSC\Controllers\' not found in C:\Server\Trackmania\EvoSC\core\Controllers\ControllerController.php:29
Stack trace:
#0 C:\Server\Trackmania\EvoSC\core\Commands\EscRun.php(164): EvoSC\Controllers\ControllerController::loadControllers()
#1 C:\Server\Trackmania\EvoSC\vendor\symfony\console\Command\Command.php(255): EvoSC\Commands\EscRun->execute()
#2 C:\Server\Trackmania\EvoSC\vendor\symfony\console\Application.php(1000): Symfony\Component\Console\Command\Command->run()
#3 C:\Server\Trackmania\EvoSC\vendor\symfony\console\Application.php(271): Symfony\Component\Console\Application->doRunCommand()
#4 C:\Server\Trackmania\EvoSC\vendor\symfony\console\Application.php(147): Symfony\Component\Console\Application->doRun()
#5 C:\Server\Trackmania\EvoSC\esc(63): Symfony\Component\Console\Application->run()
#6 {main}
thrown in C:\Server\Trackmania\EvoSC\core\Controllers\ControllerController.php on line 29
EvoSC:
When using git:
Hello, I tried setting up evoSC, however I'm encountering the following issue.
When I join the server or after a certain amount of time, evoSC will spit this error:
esc\Classes\Log::error(...): Current map is not set. Exiting...
Attached is the log file, which seemingly changes the file name for the first map several times?
2019-06-13.txt
When you miss to start the MPServer or creating database/username before you run the setup than the procedure is hanging uo at "Executing Migrations ..."
Describe the bug
When shuffling the maplist with //shuffle EvoSC stops working correctly.
Expected behavior
EvoSC continues to work.
Describe the bug
Not focusing or hightlighting local or dedi positions if position is outside of top 3. (Note: Displays correctly when selecting full local or dedi list)
Expected behavior
Should focus and highlight local and/or dedi position on side lists
To Reproduce
N/A
Screenshots/Logs
N/A
EvoSC (please complete the following information):
When using git (please complete the following information):
N/A
Describe the feature you'd like to see in EvoSC
Make the HUD stretch according to the screen resolution, because at the moment the elements are just fixed in the 16:9 aspect ratio and are also not quite fitting on a higher resolution like 3.440 x 1.440.
Example (from EVO FULLSPEED BEG)
https://youtu.be/5q3RwMvYGLs
I hope I'm not annoying you, but when I migrate the tables to the empty database with "php esc migrate" (develop branch), the "maps" table will be generated, but when I try to run the service, the program of can't find the maps table and I gets removed from the database. This seems to be a bug.
Addition: I think the table gets dropped by the 1568455055_remove-mx-details-from-maps-table.php file.
Describe the bug
Start game, join a server with evoSC ( tested on official EVO Servers and on mine aswell ) , type /scoreboard . open up the scoreboard ( evoSC scoreboard should overlay the normal one now ) press on view Profile on any player you want -> game Closes down without an error message, nothing happens
Expected behavior
Ingame there should be the possibility to view the Player Profile on the server, but it looks like even if this window opens up, it crashes the game client.
EvoSC (please complete the following information):
Server ranks are not getting displayed
Also at the end of a match the "Top Ranks" is completely empty
Everyone has server rank 0 and it tells the following (even if i have a lot of locals):
Expected behavior
Server rank will be displayed
To Reproduce
NOT working with PHP7.3.11
... yes thats the point.
I don't know how to name it proper.
Basically, with TM2020 (as I like to call it), when you play on the server with a Starter Access account, you are not allowed to chat (which, IMO, is a stupid restriction, but eh, NADEO knows better I suppose). As servers can be hosted on LAN too (with the server controllers working too) I played a few games with my friends and the restriction to chat is, frankly, quite annoying - we would like to taunt each other to do better!
What I'm trying to suggest - could you maybe make an additional button in the scoreboard (for example) which, after you press it, could open a window where you could send a (limited length) message (maybe also rate-limit too?), if it's not too difficult? Probably the same way as server now sends messages in the chat for any new/updated records, but with the user who wants to send a message, and message's content... If you understand what I'm trying to say.
I understand if you don't see the reason why this would be needed, but it would be a nice small feature to have.
Describe the bug
Go the evo advanced server and type /replay without any arguments, it will ask for 0 minutes.
Expected behavior
Should ask for 5 minutes.
To Reproduce
/replay
Screenshots/Logs
If any available, add screenshots/logs to help explain your problem.
EvoSC (please complete the following information):
php esc version
)When using git (please complete the following information):
git rev-parse HEAD
)Describe the bug
A script error occurs when I try to browse Matchsettings maps.
https://i.imgur.com/f1esMnC.jpg
Expected behavior
No error
To Reproduce
As admin, open Matchsettings Manager
https://i.imgur.com/5s02xWZ.jpg
Select any maplist
https://i.imgur.com/8AExSSr.jpg
Clicks on 'Maps' tab
https://i.imgur.com/fE4hMcv.jpg
EvoSC (please complete the following information):
When using git (please complete the following information):
https://api.mania-exchange.com/documents/reference
Did u recognized that they´ve updated the stuff for TM20 ? TM.MX etc. ? So it should be doable to FIX maniakarma, and the add MAP function
I didnt got EvoSC to work with PHP7.3 so i tried it with the older PHP5.6 and it seems to work, but after 1 Day the Logfile grows up to 30GB 😄 and the server crashed.
(Windows Server x64)
And it also brings Maniaplanet to create a 30GB+ Logfile ....
Migrated from Discord:
There should be an reappearing delay for the Interface while driving. For example, when doing flips it instantly comes in and fades out every time the car drops below specific speed.
Also hiding the Interface should also work for negative speed.
And I found another thing that doesn't work properly.
When the GUI is visible, I get this in the center of the screen: https://i.imgur.com/CcoGylF.png
The current map name and author is not shown correctly and the position is not correct. I use the default settings (next-map on the right slot 4). I tried also on the right slot 3.
I'm very new to your nice server controller and maybe I've done a mistake. I really appreciate your work :D
*Edit
My mistake had old stuff from another setup there but here a printout of the errors i recieved:
SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'access_right_id' cannot be null (SQL: insert into access_right_group
(group_id
, access_right_id
, access_right_name
) values (2, ?, admin_echoes))
[10:55:19] EscRun->execute(): Starting...
[10:55:19] EscRun->execute(): Server name is NULL
[10:55:19] Database::init(): Connecting to database...
[10:55:19] Database::init(): Database connected.
[10:55:20] TemplateController::loadTemplates(): Loading templates...
[10:55:23] Server::__callStatic(): Calling undefined rpc-method: chatEnableManualRouting
[10:55:23] ChatController::init(): Chat router started.
[10:55:24] Server::__callStatic(): Calling undefined rpc-method: getMapsDirectory
[10:55:24] Server::__callStatic(): Calling undefined rpc-method: getMapsDirectory
[10:55:24] MatchSettingsController::init(): MatchSettings "MatchSettings\tracklist_Evo.txt" not found.
TM2020
PHP-Version: 7.4.13
Windows Server
When I try to import uaseco data, I get the following stack trace:
php esc import:uaseco localhost db_name db_username db_password uaseco_
Importing players & stats
0/2 [>---------------------------] 0% < 1 secPHP Fatal error: Uncaught Error: Call to undefined method std
Class::update() in path\to\EvoSC\core\Commands\ImportUaseco.php:97
Stack trace:
#0 path\to\EvoSC\vendor\symfony\console\Command\Command.php(255): esc\Commands
\ImportUaseco->execute(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Out
put\ConsoleOutput))
#1 path\to\EvoSC\vendor\symfony\console\Application.php(921): Symfony\Componen
t\Console\Command\Command->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Con
sole\Output\ConsoleOutput))
#2 path\to\EvoSC\vendor\symfony\console\Application.php(273): Symfony\Componen
t\Console\Application->doRunCommand(Object(esc\Commands\ImportUaseco), Object(Symfony\Component\Console\Input\
ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#3 path\to\EvoSC\vendor\symfony\console\Application.php(149) in path\to\EvoSC\core\Commands\ImportUaseco.php on line 97
Fatal error: Uncaught Error: Call to undefined method stdClass::update() in path\to\EvoSC\core\Commands\ImportUaseco.php:97
Stack trace:
#0 path\to\EvoSC\vendor\symfony\console\Command\Command.php(255): esc\Commands
\ImportUaseco->execute(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Out
put\ConsoleOutput))
#1 path\to\EvoSC\vendor\symfony\console\Application.php(921): Symfony\Componen
t\Console\Command\Command->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Con
sole\Output\ConsoleOutput))
#2 path\to\EvoSC\vendor\symfony\console\Application.php(273): Symfony\Componen
t\Console\Application->doRunCommand(Object(esc\Commands\ImportUaseco), Object(Symfony\Component\Console\Input\
ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#3 path\to\EvoSC\vendor\symfony\console\Application.php(149) in path\to\EvoSC\core\Commands\ImportUaseco.php on line 97
Uaseco works fine, so I don't think my data is corrupt.
The template ID for 'C:\TM2020\XXXX\EvoSC\EvoSC\core\Modules\ASay\Templates\window.latte.xml' could not be det
ected. Please check that your naming is correct.
any solutions?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.