axblk / teeworlds Goto Github PK
View Code? Open in Web Editor NEWThis project forked from teeworlds/teeworlds
A retro multiplayer shooter
Home Page: http://teeworlds.com
License: Other
This project forked from teeworlds/teeworlds
A retro multiplayer shooter
Home Page: http://teeworlds.com
License: Other
Needs server and client support.
Useful for long maps and DDRace
This tiny tool could be a lot more powerful.
Some features I'm thinking about:
/top5
)/rank
)Maybe merge (especially team-based) gametypes like DDRace or HpRace.
D:\Work\teeworlds\teeworlds-race>bam conf=release tools
[1/2] [1] c++ src/tools/map_update.cpp
In file included from src/tools/map_update.cpp:7:0:
src/tools/map/map.h:442:11: error: redeclaration of 'MOD_NONE'
MOD_NONE=0,
^
src/tools/map/map.h:59:2: note: previous declaration '<anonymous enum> MOD_NONE'
MOD_NONE = 0,
^~~~~~~~
src/tools/map/map.h:443:2: error: redeclaration of 'MOD_RACE'
MOD_RACE
^~~~~~~~
src/tools/map/map.h:60:2: note: previous declaration '<anonymous enum> MOD_RACE'
MOD_RACE
^~~~~~~~
src/tools/map/map.h:448:12: error: redefinition of 'int gs_ModifyIndexDeletedInd
ex'
static int gs_ModifyIndexDeletedIndex;
^~~~~~~~~~~~~~~~~~~~~~~~~~
src/tools/map/map.h:65:12: note: 'int gs_ModifyIndexDeletedIndex' previously dec
lared here
static int gs_ModifyIndexDeletedIndex;
^~~~~~~~~~~~~~~~~~~~~~~~~~
src/tools/map/map.h: In function 'void ModifyIndexDeleted(int*)':
src/tools/map/map.h:449:13: error: redefinition of 'void ModifyIndexDeleted(int*
)'
static void ModifyIndexDeleted(int *pIndex)
^~~~~~~~~~~~~~~~~~
src/tools/map/map.h:66:13: note: 'void ModifyIndexDeleted(int*)' previously defi
ned here
static void ModifyIndexDeleted(int *pIndex)
^~~~~~~~~~~~~~~~~~
src/tools/map/map.h: At global scope:
src/tools/map/map.h:462:24: error: redeclaration of 'TILEFLAG_EX_INVISIBLE'
TILEFLAG_EX_INVISIBLE=1,
^
src/tools/map/map.h:79:2: note: previous declaration '<anonymous enum> TILEFLAG_
EX_INVISIBLE'
TILEFLAG_EX_INVISIBLE = 1,
^~~~~~~~~~~~~~~~~~~~~
src/tools/map/map.h:463:24: error: redeclaration of 'TILEFLAG_EX_ONE_COLOR'
TILEFLAG_EX_ONE_COLOR=2,
^
src/tools/map/map.h:80:2: note: previous declaration '<anonymous enum> TILEFLAG_
EX_ONE_COLOR'
TILEFLAG_EX_ONE_COLOR = 2,
^~~~~~~~~~~~~~~~~~~~~
src/tools/map/map.h:465:18: error: redeclaration of 'MAX_SKIP'
MAX_SKIP=(1<<8)-1
^
src/tools/map/map.h:82:2: note: previous declaration '<anonymous enum> MAX_SKIP'
MAX_SKIP = (1 << 8) - 1
^~~~~~~~
src/tools/map/map.h:468:8: error: redefinition of 'struct CEntity'
struct CEntity
^~~~~~~
src/tools/map/map.h:85:8: error: previous definition of 'struct CEntity'
struct CEntity
^~~~~~~
src/tools/map/map.h:474:7: error: redefinition of 'class CEnvelope'
class CEnvelope
^~~~~~~~~
src/tools/map/map.h:91:7: error: previous definition of 'class CEnvelope'
class CEnvelope
^~~~~~~~~
src/tools/map/map.h:568:7: error: redefinition of 'class CLayer'
class CLayer
^~~~~~
src/tools/map/map.h:185:7: error: previous definition of 'class CLayer'
class CLayer
^~~~~~
src/tools/map/map.h:600:7: error: redefinition of 'class CLayerGroup'
class CLayerGroup
^~~~~~~~~~~
src/tools/map/map.h:217:7: error: previous definition of 'class CLayerGroup'
class CLayerGroup
^~~~~~~~~~~
src/tools/map/map.h:657:7: error: redefinition of 'class CEditorImage'
class CEditorImage : public CImageInfo
^~~~~~~~~~~~
src/tools/map/map.h:274:7: error: previous definition of 'class CEditorImage'
class CEditorImage : public CImageInfo
^~~~~~~~~~~~
src/tools/map/map.h:683:7: error: redefinition of 'class CEditorMap'
class CEditorMap
^~~~~~~~~~
src/tools/map/map.h:300:7: error: previous definition of 'class CEditorMap'
class CEditorMap
^~~~~~~~~~
src/tools/map/map.h:772:7: error: redefinition of 'class CLayerTiles'
class CLayerTiles : public CLayer
^~~~~~~~~~~
src/tools/map/map.h:389:7: error: previous definition of 'class CLayerTiles'
class CLayerTiles : public CLayer
^~~~~~~~~~~
src/tools/map/map.h:799:7: error: redefinition of 'class CLayerQuads'
class CLayerQuads : public CLayer
^~~~~~~~~~~
src/tools/map/map.h:416:7: error: previous definition of 'class CLayerQuads'
class CLayerQuads : public CLayer
^~~~~~~~~~~
src/tools/map/map.h:816:7: error: redefinition of 'class CLayerGame'
class CLayerGame : public CLayerTiles
^~~~~~~~~~
src/tools/map/map.h:433:7: error: previous definition of 'class CLayerGame'
class CLayerGame : public CLayerTiles
^~~~~~~~~~
src/tools/map/map.h:941:43: error: 'ARRAY_SIZE' was not declared in this scope
ARRAY_SIZE(s_aDesertMainShadowIndicesOld),
^
src/tools/map/map.h:964:42: error: 'ARRAY_SIZE' was not declared in this scope
ARRAY_SIZE(s_aGrassMainShadowIndicesOld),
^
src/tools/map/map.h:977:43: error: 'ARRAY_SIZE' was not declared in this scope
ARRAY_SIZE(s_aJungleMainShadowIndicesOld),
^
src/tools/map/map.h:987:39: error: 'ARRAY_SIZE' was not declared in this scope
ARRAY_SIZE(s_aGrassDoodadsIndicesOld),
^
src/tools/map/map.h:988:39: error: 'ARRAY_SIZE' was not declared in this scope
ARRAY_SIZE(s_aGrassDoodadsIndicesDel),
^
src/tools/map/map.h:997:37: error: 'ARRAY_SIZE' was not declared in this scope
ARRAY_SIZE(s_aWinterMainIndicesOld),
^
src/tools/map/map.h:998:37: error: 'ARRAY_SIZE' was not declared in this scope
ARRAY_SIZE(s_aWinterMainIndicesDel),
^
src/tools/map/map.h:1008:37: error: 'ARRAY_SIZE' was not declared in this scope
ARRAY_SIZE(s_aDesertMainIndicesDel),
^
src/tools/map/map.h:1009:35: error: 'ARRAY_SIZE' was not declared in this scope
ARRAY_SIZE(s_aDesertMainMoveData),
^
src/tools/map/map.h:1018:44: error: 'ARRAY_SIZE' was not declared in this scope
ARRAY_SIZE(s_aGenericUnhookableIndicesDel),
^
src/tools/map/map.h:1028:36: error: 'ARRAY_SIZE' was not declared in this scope
ARRAY_SIZE(s_aGrassMainIndicesDel),
^
src/tools/map/map.h:1029:34: error: 'ARRAY_SIZE' was not declared in this scope
ARRAY_SIZE(s_aGrassMainMoveData),
^
src/tools/map/map.h:1039:35: error: 'ARRAY_SIZE' was not declared in this scope
ARRAY_SIZE(s_aJungleMainMoveData),
^
src/tools/map_update.cpp: In function 'void UpdateLayer(CLayerGroup*, CLayerTile
s*, const CTilesetUpdateData*)':
src/tools/map_update.cpp:84:62: error: cannot convert 'const CTilesetMoveData' t
o 'const CTilesetMoveData*' in initialization
const CTilesetMoveData *pMoveData = pUpdateData->m_pMoveData;
^~~~~~~~~~~
src/tools/map_update.cpp:118:66: error: cannot convert 'const CTilesetMoveData'
to 'const CTilesetMoveData*' in initialization
const CTilesetMoveData *pMoveData = pUpdateData->m_pMoveData;
^~~~~~~~~~~
src/tools/map_update.cpp: In function 'void UpdateMap(CEditorMap*)':
src/tools/map_update.cpp:154:66: error: 'ARRAY_SIZE' was not declared in this sc
ope
for(int Index = 0; Index < ARRAY_SIZE(s_TilesetUpdateData); Index++)
^
src/tools/map_update.cpp: In function 'int main(int, const char**)':
src/tools/map_update.cpp:219:5: warning: this 'if' clause does not guard... [-Wm
isleading-indentation]
if(!Map.Save(s_pStorage, argv[2]))
^~
src/tools/map_update.cpp:222:2: note: ...this statement, but the latter is misle
adingly indented as if it is guarded by the 'if'
return 0;
^~~~~~
In file included from src/tools/map_update.cpp:7:0:
src/tools/map/map.h: At global scope:
src/tools/map/map.h:843:20: warning: 's_aImageNames' defined but not used [-Wunu
sed-variable]
static const char *s_aImageNames[] = {
^~~~~~~~~~~~~
src/tools/map/map.h:449:13: warning: 'void ModifyIndexDeleted(int*)' defined but
not used [-Wunused-function]
static void ModifyIndexDeleted(int *pIndex)
^~~~~~~~~~~~~~~~~~
bam: 'c++ src/tools/map_update.cpp' error 1
bam: error: a build step failed
no further explanation needed.
Might replace the text-file based scoring. Then a tiny tool would be needed to migrate the records.
This is for cheat prevention!
This check should only be done if the scoreing is set to "web". It should check if the following commands are within the map (values after the command are the values which should be set if one command is missing):
sv_regen 0
sv_strip 1
sv_inifinite_ammo 0
sv_no_items 1
sv_teleport 0
sv_teleport_grenade 0
sv_teleport_vel_reset 1
sv_delete_grenades_after_death 1
sv_rocket_jump_damage 1
sv_pickup_respawn 0
If one setting is missing it should print a warning to debug log and set the value so it is least likely that the time get better for it. The values after the command should be set if the command is missing in the map as I already pointed out.
See #28
Useful for DDRace. In Race it should only be available if it is activated in the map settings.
Разработчик мне так лень переводить тебе то , что я сейчас буду писать. Мы уже довольно долго ждем хороший антипинг. Не только мы русские но и йорданцы и другие пользователи с пингом выше 60. В чем проблема взять открытый код антипинга из DDnet и просто ctr+c и ctr+v в твой код? Он же идеально работает и получше чем тот который создал ты. Просто сделай так как я написал выше пока делаешь новую "улучшенную" версию. Благодарю за прочтения Ваш Fallet лучший игрок в TeeWar
Is the spamprotection not active on chat commands such as /rank?
Hello,
Thanks for working on prediction for 0.7!
Could you please tell me whether the code for prediction on antiping branch is any different from the one you pushed into teeworlds/teeworlds? Should it be more advanced prediction than what's now found upstream?
Also, what are your plans with regard to the antiping? Are you still planning to work on it?
I could help working on it if needed, but I am not familiar with how it is typically implemented.
The server should tell the client when the race starts and ends so that the client can capture more accurate race demos.
Add some simple instructions how to use the mod, how to configure the scoring backend and how to create or update maps.
When a no-weapons FastCap server starts up for the first time, since it doesn't have no-weapons maps under the maps directory, the server cannot be started. For example, I set this in the configs:
sv_map ctf2-no-weapons
Since ctf2-no-weapons doesn't exist, the server refuses to boot.
For some reason people get this message. More information in the chat logs.
[5c39ff87][chat]: *** Win10 finished in: 10 minute(s) 43.507 second(s)
[5c39ff87][chat]: *** New record: -445.105 second(s) better
[5c39ff87][chat]: *** KeseBrod finished in: 11 minute(s) 14.778 second(s)
[5c39ff87][chat]: *** New record: -867.432 second(s) better
[5c39ff90][game]: pickup player='11:Win10' item=4
[5c39ff95][game]: pickup player='9:KeseBrod' item=4
[5c39ff95][game]: pickup player='11:Win10' item=2
[5c39ff9b][chat]: *** 11. Win10 Time: 10 minute(s) 43.507 second(s) (SP | Someone)
[5c39ff9c][server]: ClientID=12 rcon='teleport 12 11'
[5c39ffa4][server]: player is ready. ClientID=4 addr=<IP_ADDRESS>:63651
[5c39ffa4][server]: player has entered the game. ClientID=4 addr=<IP_ADDRESS>:63651
[5c39ffa4][game]: team_join player='4:coer76' team=0
[5c39ffa5][game]: pickup player='12:TeeSlayer' item=4
[5c39ffad][chat]: 7:1:Puchy: Zargon: MY BOY
[5c39ffaf][game]: pickup player='12:TeeSlayer' item=2
[5c39ffb2][game]: pickup player='9:KeseBrod' item=2
[5c39ffb3][chat]: 6:1:Zargon: Puchy:
[5c39ffb5][chat]: 6:1:Zargon: where are you
[5c39ffb8][chat]: 11:1:Win10: xD
[5c39ffbb][chat]: 14:1:SP | Someone: TeeSlayer: -445 seconds better sounds like it should be worse
[5c3a006c][chat]: 14:1:SP | Someone: i dont have a rank
[5c3a0097][chat]: 14:1:SP | Someone: TeeSlayer: i saw Win10 finish and it said -445 seconds better
[5c3a00a4][chat]: 14:1:SP | Someone: i think it shouldnt have -
The race server should use the DDNet format for teleporters, speedups and settings, so no additional custom client is required for mapping.
The server should tell the client which prediction features to enable.
This should not depend on the gametype string like in 0.6!
Seeing how many people ask for a compiled version of map_update, and waiting for a release, I'd like to post them here so they can be easily linked. I will remove the links once there is a proper release.
Thanks :)
http://race.teesites.net/maps/13/
I just made a record in ctf2-no-weapons because I used weapons under no-weapons settings.
https://github.com/PathosEthosLogos/tw/blob/master/Teerace%20FastCap%20no-weapons
This was the config I was using for the no-weapons server, but for some reason, weapons showed up anyway. Initially, there were no weapons. I'm not sure what happened here.
The server should tell the client when the race starts and ends so that the client can capture more accurate ghosts.
Forwarding this report.
Teleports are broken. Some tees get stuck after entering them. I've observed it on servers with more than one player. At first I thought it was only because the exit TP was very close to collision tiles and this is certainly true to some extent, but sometimes it can also teleport you to anywhere on the map even though the exit isn't occupied and was placed in a big open area - which is very weird.
TeeSlayer at https://www.teeworlds.com/forum/viewtopic.php?pid=122471#p122471
Any clue what could cause this? I haven't investigated, but I'll update if I find something.
Edit: this could be a bug introduced by player collision, which the teleport system could be counting on. In which case, it's on my side :) In fact, pure races don't seem to run into the issue.
Edit2:
so if a tee is moving exactly X+3 and Y+3 from the tp out (assuming 4th quandrant) and is standing on top of a collision tile, the tp out is moving to his location causing the other tee to get stuck
So it is indeed a player collision thing. I didn't understand the issue much yet, not sure if it should be fixed in race too.
Easier editing for layers like:
In DDRace this is useful for load balancing. Should be implemented in a predictable way.
In Race always the first destination should be used. Random things do not belong in Race.
looking through the branches, I found that the master branch is quite outdated. The race Branch looks like the one I need to build, for the most recent race modded version(?).
Are the build instructions the same as for the original game (except the repository url ofc)?
Edit: yes it worked, the url could be changed in the README to make it easy for Users, copy pasting the commands.
Is this building a modded server as well or only the client side?
Edit: looks like yes
Is it possible to build only the server binary without the graphical dependencies on a headless device?
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.