Spoiler: Ugly Head Here is a good example for an ugly head (i know the discussion is over but i believe i promised to send a pic)
I made a minor nudge at furai a couple months ago to swap out factions for wastekind(because it is an infinitely better mod) hopefully it will eventually get hosted in US even if it isnt on official. I dont see the value in custom heads much myself. Personally i feel like something along of the lines of kill-counters and ranking would nudge some tryhards to play more(and lead to less ingame eyesores).
Just pushed a minor hotfix that addresses the issues with the maps not properly loading on some of the servers. Nothing else has really changed.
I am glad to see that the community vote for Spoiler: spoiler Official Modded Server cause developers make really fun Spoiler: what? mods
Perhaps Geti could put his hands on The Waste Kind, make some fixes, proper explosives and 2-3 weapons and add it to an Official modded server. The creators of it would be so really happy to see it have an official push, it has some possibilities I couldn't develop further and we grow tired of. (hu3 i know it sounds like wishful thinking).
Next: Pls fix bugged animations. (ppl running with no anim til you kill them) That bug has like few years
Haven't more mods been released after that vote? I hope that vote is redone! plz... Can you link me to it?
If "HTTP From Script" is what I think it means (that mod code can make HTTP requests), then this opens up possibilities for some INSANELY COOL mods. Persistent world/MMO style mods would be enabled in particular. The majority of the community probably won't understand the significance of this voting point though.
https://forum.thd.vg/threads/kag-official-modded-server-what-should-it-run.25440/page-4 I mean i guess more mods have been created. That said i dont think the community created many "better" mods.
It can already be done with TCPR, it's just quite fiddly to do :) The backend for Trench Run, which handles persistent costumes, coins and whatnot shared between multiple servers is just a TCPR app written in node. HTTP From Script would basically leverage the async HTTP calls stuff added behind the APIClient to indeed make HTTP Requests and load them into strings. It'll likely happen at some point but it could be rushed along if there was interest. Looks like there's more in an official modded server though, I'll have to talk with joe about it as furai doesn't like the sound of working on it :)
TCPR is TCP RCON - Remote console. You can use anything that can speak TCP and either send commands or script code; you can talk to it either just by printing, or by explicitly calling tcpr("your string to send"), which is the "more portable" way to do things (you can turn off sending prints to tcpr to reduce I/O or network bandwidth consumed). For the HTTP example you'd have things KAG-side write a request into the console with something like tcpr("GET http://mykagmodwebsite.com/some_awesome_arguments reqID"); and then have the tcpr script curl for that (or wget or use node's built in http stuff or whatever), and send back getRules().set_string("reqID", "webpage contents"); - the big things to watch out for are TCPR cant handle particularly long lines. I think it's currently 16k as the limit. If you were handling requests for non-trivial pages you'd need to write them back to KAG over multiple lines - longer lines will be truncated at whatever the limit is, and read as separate lines into the console, which will of course cause errors. Splitting stuff up into multiple lines is better. TCPR can handle \r\n and \n line endings, though it'll go with whatever you send first and you better stick with that. This forms part of auth, as you have to send the rcon password as the first line or your app will be disconnected. You need some sort of request ID and timeout system - and to recycle them - or you'll slowly consume more and more RAM for the rules properties. We use a pool of 100 IDs for common requests in trench run, plus a per-user string (so the user data is always readily available). The timeout system is also needed because there's no way to ensure that something's actually connected to tcpr - I've considered adding something to check (basically isTCPRConnected()) a few times but since it's so underutilised I haven't bothered. Your TCPR app can also drop if it's on a remote machine, and will need to attempt to reconnect if the socket is occupied or whatever as well - it can get quite fiddly making this stuff robust. It is possible to have more than one connection to tcpr at the same time, as well (for example if you wanted a separate user ranking system and a HTTP fetcher for community-authored maps) and they'll all receive the same stuff, so it's important to keep that in mind and make sure they filter messages that aren't meant for them. @makmoud98 is the only person I'm aware of tinkering with it at this point though I wouldn't be surprised if some others were doing things on the more "secretive" modded servers. Hope this helps :)
Ah thanks for the info, never realised this was possible. Is it blocking to call the tcpr function KAG side though? @Cruxiat will be interested in this for his knight ELO mod.
Is what blocking the call to tcpr? If you mean like, in terms of a blocking function call, it returns immediately and there's no guarantee that anyone is listening. It functions just like a print, and you can only send string data. If you mean in terms of security - running tcpr() on the client does absolutely nothing. Only calls to it serverside matter at all. Timestamps are appended as well, which is actually kind of annoying, so something to watch out for. It's actually probably one of the more powerful modding options, and it's the only closed-source one. I'm not sure why people haven't investigated it more other than it being somewhat obscure. Honestly, just try it and see, the worst you can do is waste an afternoon if it doesn't work out, haha.
Soo, progress has been made regarding modded servers (thanks @jrgp for help). Now the question to community - can you guys poke the authors of chosen previously mods that are to be hosted on the server so they make sure the mods do work in the latest version of KAG and that they are uploaded to our API? I'd rather deal with updates via API than having to upload the files manually every now and then when the fix is in place. I don't remember top of my head who is responsible for what mod and which mod have we chosen - I trust you guys that you know and that you'll just annoy the shit out of those dudes till the do what needed. Once I have everything in place we'll be able to host these mods.