XASECO (TMN/TMF) v1.11

Discuss everything about Xymph's Aseco flavoured server control scripts for TM Forever / classic TMN and for TM² Canyon.

Moderators: Xymph, TM-Patrol

Post Reply
Xymph
Pit Crew
Pit Crew
Posts: 5645
Joined: 19 Aug 2007 12:58
Owned TM-games: TMN, TMU, TMF, TM²
Contact:

XASECO (TMN/TMF) v1.11

Post by Xymph » 10 Jul 2010 18:17

<tap><tap>... is this on? Uhm, okay, let's see if I still remember how to do this. :P After 9.5 months I've finally compiled another XAseco release. Why did it take so long? Initially I waited for Slig to develop and finish the new Dedimania API, and didn't have [m]any ideas for other enhancements and features. As that API was held back by real-life delays, ideas and requests trickled in, and obscure bugs surfaced which I gradually implemented and fixed over the subsequent months. Lately progress on my end was also slowed down by all manner of real-life changes, but now there's finally enough spare time to wrap up all this work.

So then, what is in this update? Two new informational user commands plus new novote options for /list and /autojuke, the oft-requested search function for the music server, a couple of new configuration options, simplified Dedimania configuration (now needing only one port instead of a whole list), some performance and other enhancements, a bunch of minor new features, and a larger number of bug fixes than I had hoped after the previous release. Check out the full v1.11 release notes:

New features and other changes in the v1.11 release of XASECO:
  • * new /xaseco command to display a variety of info about your XASECO installation, including uptime, the welcome message (TMF-only), and the masteradmin(s) -- the XASECO version is no longer in the /server output
    * new /mod command (based on an updated GBXChallengeFetcher class) to show the (file)name for the current track's mod
    * if followed by the url (alias loc) parameter, /song and /mod will also display the song's or mod's locator URL (if available), hyperlinked for easy download
    * an optional search string after /music list will now list only songs with that string in their filenames or, if <cache_tags> in musicserver.xml is enabled, in the title or artist tags of .OGG songs -- the song IDs shown are the original (now possibly non-sequential) ones from the complete list so that jukeboxing still works correctly
    * the /chatlog, /pmlog and /admin pmlog output can show the timestamp of each message, configurable via new config.xml setting <chatpmlog_times> (default: True)
    * new /list option: /list novote to display all tracks the player didn't karma vote for
    * new /autojuke option: /autojuke novote to automatically jukebox the first available track from the /list novote selection
    * /list karma 0 now correctly lists all tracks without karma votes as well as those with average karma value 0 -- previously this command would list tracks with negative or zero karma but not those without any votes
    * new $jukebox_adminnoskip option in rasp.settings.php to not skip tracks (if $jukebox_skipleft is true) that were jukeboxed by admins (of any tier) which left the server
    * when a player whose IP address was banned re-enters after the dedicated server was restarted, [s]he is now re-banned instead of just kicked -- this insures the dedicated rather than XASECO will keep the player out on subsequent connect attempts, at least until another restart
    * updated the Dedimania system to use only the new :8002 communication port (remember to open this port on your firewall/router as well) -- the load is now internally distributed on the Dedimania master server
    * on TMF, the /stats output now includes the player's client build/version
    * changed/added common Rounds points systems on TMF, with f1gp replaced by:
    • * f1old: Formula 1 GP Old -- 10,8,6,5,4,3,2,1,...
      * f1new: Formula 1 GP New -- 25,18,15,12,10,8,6,4,2,1,...
    * player wins in Stunts mode are now determined and attributed (thanks nouseforname)
    * changed the public appreciation message for large donations to prevent a fraud scheme
    * optimized MySQL interaction for calculation of players' server ranks (thanks Nanir)
    * upon a Fatal Error, an onShutdown event is issued just before shutting down (thanks nocturne)
    * the player/spectator and voting values in the $aseco->server object are refreshed at each track switch in case they've been modified (thanks undef)
    * the Auto TimeLimit and music server plugins now log an initialization message before loading their respective .xml configs
    * deployed updated web_access.inc.php for Dedimania communication (thanks Slig)
    * removed all ShareMania support as the site was retired
Bug fixes in the v1.11 release of XASECO:
  • * changes in the GameInfo structure aren't detected upon restarts, only upon track switches -- fixed
    * players that should have been kicked (e.g. for an obsolete client) but weren't, can cause PHP warnings -- fixed, and their finishes are ignored
    * in Laps mode when /dedicps is active, local records are not detected -- fixed (thanks blue)
    * there's a global $linelen conflict between plugin.chatlog.php and plugin.msglog.php -- fixed
    * /list karma is allowed while $feature_karma in rasp.settings.php is false -- fixed
    * in rare situations /best, /worst and /list best|worst can produce gibberish output -- fixed
    * following /list with /style ## or any /*panel ## command can cause a PHP warning -- fixed
    * an XML/RPC communication problem with the Dedimania server can cause a PHP warning -- fixed
Remember to check these updated installation notes:
  • Important:

    * To register your server with the central Dedimania database, you must copy the login and password values in the <masterserver_account> section from your server's dedicated.cfg (TMN) or dedicated_cfg.txt (TMF) file into the corresponding section of the dedimania.xml file, and add the 3-character nation abbreviation. Instead of the password you can also use the community code for your server by using the server login/password on the official site for your game (TMO/TMS/TMN) or on this page for TMF.
    * Open port 8002 on your firewall/router for communication with the central Dedimania server.
    * In the zip file, all *.XML and *.PHP config files are now located inside the newinstall/ directory. This means that you can (and have to) unzip the download and replace all the PHP code files, without worrying about overwriting your customized config files. However, for every XML/PHP config file that was updated (see above), you must replace your version with the one from the newinstall/ directory, or compare them and add any new/changed configuration settings to your version to insure the system remains working correctly.
    * For a new installation, go into the newinstall/ directory and move all *.XML files into the main directory, next to aseco.php, and *.PHP files into the includes/ directory.
Grab it from http://www.gamers.org/tmn/ .

Cheers,
Xymph
Developer of XASECO for TMF/TMN ESWC & XASECO2 for TM²: see XAseco.org
Find your way around the Mania community from the TMN ESWC hub, TMF hub, TM² hub, and SM hub

Amisxp
road tourist
road tourist
Posts: 81
Joined: 26 Dec 2008 10:28
Owned TM-games: TMUF
Location: Slovenia, Maribor

Re: XASECO (TMN/TMF) v1.11

Post by Amisxp » 10 Jul 2010 19:02

awesome work as always xymph ^_^
Last edited by Amisxp on 10 Jul 2010 19:50, edited 2 times in total.

User avatar
GS-Liam
sunday driver
sunday driver
Posts: 63
Joined: 26 Nov 2009 14:59
Owned TM-games: All
Location: UK
Contact:

Re: XASECO (TMN/TMF) v1.11

Post by GS-Liam » 10 Jul 2010 19:38

Time to update hundreds of servers :(

Nice Work Xymph

Any Gaming Solutions customers who would like there xaseco updating please submit a ticket here And we will update it for you

Cheers
Thanks, Regards
Liam Bishop
E-mail/Msn: Liam@Gaming-Solutions.com
Xfire: gsliam
http://www.gaming-solutions.com

Image

User avatar
Ant
TM-Patrol
TM-Patrol
Posts: 1845
Joined: 01 Dec 2007 17:04
Owned TM-games: TMN, TMUF, TM Wii
Location: London, England
Contact:

Re: XASECO (TMN/TMF) v1.11

Post by Ant » 10 Jul 2010 20:36

Nice one man, gonna update this as soon as I sort out my customised files :thumbsup:

EDIT--> All done, and no problems to report as of yet - good work man :1
Last edited by Ant on 10 Jul 2010 23:49, edited 1 time in total.

nouseforname
swift roadking
swift roadking
Posts: 840
Joined: 20 Apr 2008 08:58
Owned TM-games: TMUF,TMNF, TMN
Manialink(s): therookies
Location: Germany
Contact:

Re: XASECO (TMN/TMF) v1.11

Post by nouseforname » 10 Jul 2010 21:30

finally i can see my status display is working and i can test my xaseco update script under real conditions^^

thanks xymph
Owner of the Rookie servers and some more. :)
Rookies HP
My Project
Rookies Manialinkcolor>

User avatar
Ant
TM-Patrol
TM-Patrol
Posts: 1845
Joined: 01 Dec 2007 17:04
Owned TM-games: TMN, TMUF, TM Wii
Location: London, England
Contact:

Re: XASECO (TMN/TMF) v1.11

Post by Ant » 11 Jul 2010 00:15

I have a quick question actually, were there any major changes in plugin.donate.php ?

I only ask because thats the only file I didn't update, because vineeth.h's [XAseco] Betting Plugin v0.3.5 needed to change it (see the quote below)
vineeth.h wrote: AND
2.FINALLY, :gobananas: , :3 ,got both the plugin.donate.php and my betting plugin to coexist. Well i was trying to figure out how to make the changes only to my plugin to let it coexist, but failed to do so.So i had to make some minor changes in the plugin.donate.php, let me assure you,it doesn't change the donation process one bit,everything with that remains the same.

What i've done is ,cut the BillUpdated function from plugin.donate.php, pasted it into my billupdated function and added a if- else statement to check wheter it was a betting transaction or a donation transaction and added the variable globally in both.

Because of that,i've updated both the plugin.donate.php and my vineeth.bet.plugin.php and uploaded both of them together in my new release.

So extract and replace both the vineeth.bet.plugin and plugin.donate.php files
That plugin no longer exists from the link on that page though, but its included in BReMFoX's [Xaseco Panel] Play v0.53 which I also have available Here Just in case you wanna see the code.

Xymph
Pit Crew
Pit Crew
Posts: 5645
Joined: 19 Aug 2007 12:58
Owned TM-games: TMN, TMU, TMF, TM²
Contact:

Re: XASECO (TMN/TMF) v1.11

Post by Xymph » 11 Jul 2010 09:20

Ant wrote:I have a quick question actually, were there any major changes in plugin.donate.php ?
An important change is mentioned in the release notes ("changed the public appreciation message for large donations to prevent a fraud scheme"), but that didn't affect a lot of code. Just diff old and new versions to see.
Developer of XASECO for TMF/TMN ESWC & XASECO2 for TM²: see XAseco.org
Find your way around the Mania community from the TMN ESWC hub, TMF hub, TM² hub, and SM hub

User avatar
Ant
TM-Patrol
TM-Patrol
Posts: 1845
Joined: 01 Dec 2007 17:04
Owned TM-games: TMN, TMUF, TM Wii
Location: London, England
Contact:

Re: XASECO (TMN/TMF) v1.11

Post by Ant » 11 Jul 2010 16:08

nice one, I did that and found a $mybill function that isn't in the new version of the donate plugin (probably the modified bit from that betting plugin) and also this whole section is cut out.

Code: Select all

function bill_updated($aseco, $bill) {
	global $bills, $publicappr;

	$billid = $bill[0];
	// check for known bill ID
	if (array_key_exists($billid, $bills)) {
		// get bill info
		$login = $bills[$billid][0];
		$nickname = $bills[$billid][1];
		$coppers = $bills[$billid][2];

		// check bill state
		switch($bill[1]) {
		case 4:  // Payed (Paid)
			// check for donation or payment
			if ($coppers > 0) {
				// check for public appreciation threshold
				if ($coppers >= $publicappr) {
					$message = formatText($aseco->getChatMessage('THANKS_ALL'),
					                      $aseco->server->name, $coppers, $nickname);
					$aseco->client->query('ChatSendServerMessage', $aseco->formatColors($message));
				} else {
					$message = formatText($aseco->getChatMessage('THANKS_YOU'),
					                      $coppers);
					$aseco->client->query('ChatSendServerMessageToLogin', $aseco->formatColors($message), $login);
				}
				$aseco->console('player {1} donated {2} coppers to this server', $login, $coppers);
				ldb_updateDonations($aseco, $login, $coppers);
			} else {  // $coppers < 0
				// get new server coppers
				$aseco->client->query('GetServerCoppers');
				$newcoppers = $aseco->client->getResponse();

				$message = formatText($aseco->getChatMessage('PAY_CONFIRM'),
				                      abs($coppers), $nickname, $newcoppers);
				$aseco->client->query('ChatSendServerMessageToLogin', $aseco->formatColors($message), $login);
				$aseco->console('Server paid {1} coppers to login "{2}"', abs($coppers), $login);
			}
			unset($bills[$billid]);
			break;
		case 5:  // Refused
			$message = '{#server}> {#error}Transaction refused!';
			$aseco->client->query('ChatSendServerMessageToLogin', $aseco->formatColors($message), $login);
			unset($bills[$billid]);
			break;
		case 6:  // Error
			$message = '{#server}> {#error}Transaction failed: {#highlite}$i ' . $bill[2];
			if ($login != '')
				$aseco->client->query('ChatSendServerMessageToLogin', $aseco->formatColors($message), $login);
			else
				$aseco->client->query('ChatSendServerMessage', $aseco->formatColors($message));
			unset($bills[$billid]);
			break;
		default:  // CreatingTransaction/Issued/ValidatingPay(e)ment
			break;
		}
	}
}  // bill_updated
but that should be in the betting plugin too, according to vineeth.h

nouseforname
swift roadking
swift roadking
Posts: 840
Joined: 20 Apr 2008 08:58
Owned TM-games: TMUF,TMNF, TMN
Manialink(s): therookies
Location: Germany
Contact:

Re: XASECO (TMN/TMF) v1.11

Post by nouseforname » 11 Jul 2010 16:13

this is the kind of problem i wanted to avoid. thats why there is no need to mod any other plugin if using my version of betting. :)

unfortunally there is no known version of mine for the "playpanel" at least i dont know....but it shouldnt be to hard to modify the positions and styles....
Owner of the Rookie servers and some more. :)
Rookies HP
My Project
Rookies Manialinkcolor>

User avatar
Ant
TM-Patrol
TM-Patrol
Posts: 1845
Joined: 01 Dec 2007 17:04
Owned TM-games: TMN, TMUF, TM Wii
Location: London, England
Contact:

Re: XASECO (TMN/TMF) v1.11

Post by Ant » 11 Jul 2010 16:44

Thats why I have this one at the moment, because it fits in with the play panel style. I'd use your one if I can get it to the same style - and it'd mean I have a nice cleaner - unmodded version of the donate plugin too.

User avatar
jimos94
happy cruiser
happy cruiser
Posts: 122
Joined: 06 Jan 2007 22:52
Owned TM-games: TMUF
Manialink(s): fun
Contact:

Re: XASECO (TMN/TMF) v1.11

Post by jimos94 » 11 Jul 2010 17:38

finally a new version! Indeed nouse's automatic xaseco upgrade script will be needed for people owning many servers. Good work.
http://www.tm-planet.net/ Server hosting, Interviews, Events and more :)

User avatar
lille79
Pit Crew
Pit Crew
Posts: 881
Joined: 09 Dec 2007 15:04
Owned TM-games: TMN, TMNF, TMUF
Location: Norway
Contact:

Re: XASECO (TMN/TMF) v1.11

Post by lille79 » 12 Jul 2010 15:34

Hehe. Looking forward to testing it Xymph. It's been a loooong time now. Just 10 replies in 2 days so it looks very good so far :D
The 1.10 was so stable and has been working so good for so long, so there wasn't much to complain about. This will probably be even better :D

Testing it more next week :thumbsup:
/lille79
Old man of the Norwegian Trackmania team Super Sheep Racing
To visit my homepage/blog, and download the usbTMFserver, this is the place to go.

User avatar
R-Slicker
highway camper
highway camper
Posts: 1
Joined: 15 Jul 2010 07:24
Owned TM-games: tmuf
Location: Hull UK

Re: XASECO (TMN/TMF) v1.11 .. RASP error

Post by R-Slicker » 15 Jul 2010 07:40

Image
Hey peeps, i got the above error when i updated to 1.11.
Installed progrmmes .. xampp/TrackMania-Server-03-15-2010/xaseco 1.11.
Error started as soon as xaseco was 1st run after update, all player rankings are gone :( but everything else works fine.
Im a noob with this stuff so please make replys idiot proof ^^
More info available if needed.

THX in advance.

Hope this is in the correct forum...


RESOLVED but thanks anyways
Last edited by R-Slicker on 15 Jul 2010 20:15, edited 1 time in total.

Pesky
smooth traffic navigator
smooth traffic navigator
Posts: 262
Joined: 19 Mar 2008 16:25
Owned TM-games: TMN, TMUF
Manialink(s): rrmania
Contact:

Re: XASECO (TMN/TMF) v1.11

Post by Pesky » 15 Jul 2010 08:09

Thx Xymph for your work :thumbsup:

User avatar
undef.de
Pit Crew
Pit Crew
Posts: 1305
Joined: 31 Aug 2009 18:38
Owned TM-games: TMF, TM2C/S/V, SM
Manialink(s): undef, tmkarma
Location: Germany
Contact:

Re: XASECO (TMN/TMF) v1.11

Post by undef.de » 15 Jul 2010 19:03

Fix for manialinks.php

In my special version of XASECO/1.11 (prints just PHP Notices too), i have followed Notices since XASECO/1.03 (sorry that i write only now):

Code: Select all

[PHP Notice] Undefined offset:  2 on line 943 in file [..]/xaseco-1.11/includes/manialinks.inc.php
[PHP Notice] Undefined offset:  2 on line 960 in file [..]/xaseco-1.11/includes/manialinks.inc.php
Here is the fix for that "Problem".

Before (beginning from line 940):

Code: Select all

for ($i = 0; $i < count($widths)-1; $i++) {
	// check for action button
	if (is_array($line[$i])) {
		$xml .= '<quad pos="-' . (0.015+array_sum(array_slice($widths,1,$i))) .
		        ' -' . ($hsize-0.013+$cnt*$bsize) .
		        ' -0.15" size="' . ($widths[$i+1]-0.03) . ' ' . ($bsize+0.005) .
		        '" halign="left" style="' . $style['BUTTON'][0]['STYLE'][0] .
		        '" substyle="' . $style['BUTTON'][0]['SUBSTYLE'][0] .
		        '" action="' . $line[$i][1] . '"/>' . LF;
		$xml .= '<label pos="-' . (0.025+array_sum(array_slice($widths,1,$i))) .
		        ' -' . ($hsize-0.008+$cnt*$bsize) .
		        ' -0.2" size="' . ($widths[$i+1]-0.05) . ' ' . (0.02+$bsize) .
		        '" halign="left" style="' . $style['BODY'][0]['TEXTSTYLE'][0] .
		        '" text="' . htmlspecialchars(validateUTF8String($line[$i][0])) . '"/>' . LF;
	} else {
		$xml .= '<label pos="-' . (0.025+array_sum(array_slice($widths,1,$i))) .
		        ' -' . ($hsize-0.008+$cnt*$bsize) .
		        ' -0.2" size="' . ($widths[$i+1]-0.05) . ' ' . (0.02+$bsize) .
		        '" halign="left" style="' . $style['BODY'][0]['TEXTSTYLE'][0] .
		        '" text="' . htmlspecialchars(validateUTF8String($line[$i])) . '"/>' . LF;
	}
}
Current:

Code: Select all

for ($i = 0; $i < count($widths)-1; $i++) {
	// check for action button
	if (isset($line[$i])) {
		if (is_array($line[$i])) {
			$xml .= '<quad pos="-' . (0.015+array_sum(array_slice($widths,1,$i))) .
			        ' -' . ($hsize-0.013+$cnt*$bsize) .
			        ' -0.15" size="' . ($widths[$i+1]-0.03) . ' ' . ($bsize+0.005) .
			        '" halign="left" style="' . $style['BUTTON'][0]['STYLE'][0] .
			        '" substyle="' . $style['BUTTON'][0]['SUBSTYLE'][0] .
			        '" action="' . $line[$i][1] . '"/>' . LF;
			$xml .= '<label pos="-' . (0.025+array_sum(array_slice($widths,1,$i))) .
			        ' -' . ($hsize-0.008+$cnt*$bsize) .
			        ' -0.2" size="' . ($widths[$i+1]-0.05) . ' ' . (0.02+$bsize) .
			        '" halign="left" style="' . $style['BODY'][0]['TEXTSTYLE'][0] .
			        '" text="' . htmlspecialchars(validateUTF8String($line[$i][0])) . '"/>' . LF;
		} else {
			$xml .= '<label pos="-' . (0.025+array_sum(array_slice($widths,1,$i))) .
			        ' -' . ($hsize-0.008+$cnt*$bsize) .
			        ' -0.2" size="' . ($widths[$i+1]-0.05) . ' ' . (0.02+$bsize) .
			        '" halign="left" style="' . $style['BODY'][0]['TEXTSTYLE'][0] .
			        '" text="' . htmlspecialchars(validateUTF8String($line[$i])) . '"/>' . LF;
		}
	}
}
I have just added line 942 (and the ending part at line 962):

Code: Select all

if (isset($line[$i])) {
Xymph: Do you want for the future patch files from "diff -Naur ./orig ./changed > patch" for such things?
Developer of various plugins for XAseco/XAseco2 and MPAseco,
like Records-Eyepiece, TM-Karma, Alternate Scoretable...
Visit my Lab: www.undef.name

Get it now:
» TM2 Valley
» TM2 Canyon
» TM2 Stadium
» SM Storm

Post Reply

Who is online

Users browsing this forum: Google [Bot] and 3 guests