1 (edited by Dune 2019-01-19 23:09:04)

Topic: [MOD] Simple DDRace (0.7.2)

Hello,

To enjoy some old maps again with friends, I have ported the essence of DDRace to 0.7 - written from the master branch of redix's Race (who is to credit for most of the work).
The goal here is not to port all of the features of the bloated 0.6 mods, but instead to try to keep the mod as a simple extension of Race.

Features
  • Freeze tiles

  • Unfreeze tiles

  • Unfreeze with hammer

  • Freeze tick indicators

  • All of Race (teleports, times, ranks, etc.)

Configuration

No configuration is needed. sv_gametype defaults to (dd)race.

You will need to port maps to 0.7 though - for that you may want to use redix's map_update tool. You can find download links here. Usage: map_update old_map new_map, with a data folder nearby.

Downloads (v1.0.1)

Windows (64 bit): https://github.com/Dune-jr/teeworlds/re … .1_srv.exe
Linux (64 bit): https://github.com/Dune-jr/teeworlds/re … -1.0.1_srv
Sources (zip): https://github.com/Dune-jr/teeworlds/ar … 1.0.1b.zip

Github repository

Edit: Fixed prediction when being hooked while frozen in 1.0.1

Not Luck, Just Magic.

2 (edited by Zatline 2018-12-31 16:13:08)

Re: [MOD] Simple DDRace (0.7.2)

Less is more, emphasize what’s important. great work Dune! smile

3

Re: [MOD] Simple DDRace (0.7.2)

Where can i find this map_update tool and can i use it in windows to port maps to 0.7?

4 (edited by Dune 2019-02-13 19:07:30)

Re: [MOD] Simple DDRace (0.7.2)

Edit: see first post for binaries on redix's repo

You can get the map update tool at the experimental race branch from redix: https://github.com/axblk/teeworlds/tree/race
You have to build with

bam tools

Alternatively, I built it for windows: https://www.dropbox.com/s/multb1sjns40c … e.exe?dl=0

Not Luck, Just Magic.

5

Re: [MOD] Simple DDRace (0.7.2)

could you give a quick run through on how to use it, nothing happens when i try to open it. Thanks

6

Re: [MOD] Simple DDRace (0.7.2)

Sorry, I forgot instructions. You should run:

map_update.exe oldmap.map newmap.map

it should have access to a data folder, so put it in Teeworlds.
To open the folder containing the new map, run config_directory.bat

Not Luck, Just Magic.

7 (edited by 2019-01-05 20:09:59)

Re: [MOD] Simple DDRace (0.7.2)

and this is done inside of cmd.exe?

never mind i got it to work. Thanks Dune!

8 (edited by teeslayer 2019-01-09 16:58:39)

Re: [MOD] Simple DDRace (0.7.2)

I've been running this DDRace mod for about two weeks. I want to report some bugs:

  • If you make any action while being frozen (e.g. hammer), it will be executed right after the unfreeze.

  • 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.

  • One of my users got a negative score (overflow?) which put him first. I fixed it for him since he was 2nd place on XYZ and after the restart, the log file vanished (which is apparently expected Teeworlds behavior, but I can't give you any more details on that for now because of that).

Regarding future improvements: Would you accept Pull Requests that implement features like unfreeze laser, grenade collision, endless hook, random spawn points etc.? Currently only my servers have those things, which kinda gives them an edge, but when I asked you about some of them on IRC, you rejected those ideas I believe. Just curious whether that's still your standpoint.

Another question: Is Speedup/Force already implemented? I've seen some lines of code about this, but after placing them in the editor and trying it out, they had no effect. This is probably more of a question for Redix. Also Hook-Through tiles would be amazing. With those two things Multimap could be hosted. smile

Thanks for developing DDRace and sharing the source code.

Edit: I figured out how to use Force.

9 (edited by Dune 2019-01-09 17:16:19)

Re: [MOD] Simple DDRace (0.7.2)

Hello,

teeslayer wrote:

I've been running this DDRace mod for about two weeks. I want to report some bugs:

  • If you make any action while being frozen (e.g. hammer), it will be executed right after the unfreeze.

Will fix. ddrace/#44

teeslayer wrote:
  • 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.

This sound like a race issue. I reported it upstream: race/#11, I do not know redix's teleport code well.

teeslayer wrote:
  • One of my users got a negative score (overflow?) which put him first. I fixed it for him since he was 2nd place on XYZ and after the restart, the log file vanished (which is apparently expected Teeworlds behavior, but I can't give you any more details on that for now because of that).

This should also be a race issue.

teeslayer wrote:

Regarding future improvements: Would you accept Pull Requests that implement features like unfreeze laser, grenade collision, endless hook, random spawn points etc.? Currently only my servers have those things, which kinda gives them an edge, but when I asked you about some of them on IRC, you rejected those ideas I believe. Just curious whether that's still your standpoint.

I don't remember rejecting those, but I tend to prioritize other things. Pull requests are obviously very welcome!
Proper implementations of some of these settings may need some discussions:
- unfreeze laser: I see no downside to implement the unfreeze laser since it would be either a pickup or a map setting to provide it.
- endless hook: this sounds like it could be achieved through tunings (?) If not, could you expand on what that is and whether it is required on some maps?
- random spawn points: sure
- grenade collision: that's for a separate game mode, right? But now again, it seems like DDRace traditionally didn't differentiate Race and other gametypes, which doesn't sound very good. Might be too late to remediate to that though, so it may be best to straight up add those as options.

Note: I believe some of these settings need to be included in the map format itself. This way, high scores make sense  - I would imagine maps are easier to finish with unfreeze laser than without, for example.


teeslayer wrote:

Another question: Is Speedup/Force already implemented? I've seen some lines of code about this, but after placing them in the editor and trying it out, they had no effect. This is probably more of a question for Redix.
Also Hook-Through tiles would be amazing. With those two things Multimap could be hosted. smile

Thanks for developing DDRace and sharing the source code.

You can already prevent players from going back. I believe those are the blue arrows in the game tiles. They work on redix's server, so if they don't work in DDRace, that would be a bug (or a misplacement).
I don't know how hook-through works on a technical level.

Thanks for the reports.

Not Luck, Just Magic.

10 (edited by teeslayer 2019-01-09 17:48:25)

Re: [MOD] Simple DDRace (0.7.2)

Dune wrote:

This sound like a race issue. I reported it upstream: race/#11, I do not know redix's teleport code well.

This has never happened on my Run Guy server though and there are usually a lot of players. I guess interaction between tees haven't been considered for Race.

Dune wrote:

- endless hook: this sounds like it could be achieved through tunings (?) If not, could you expand on what that is and whether it is required on some maps?

Endless Hook = never ending player to player hook. It's kinda overpowered, but some maps use it. It's 17 on the game layer, with 18 being the deactivation. I personally don't know any normal DDRace maps with this, but Blmap4 for example.

Dune wrote:

- grenade collision: that's for a separate game mode, right? But now again, it seems like DDRace traditionally didn't differentiate Race and other gametypes, which doesn't sound very good. Might be too late to remediate to that though, so it may be best to straight up add those as options.

It's the default behavior on DDNet's DDRace server and most people will expect it to have collision. I don't know what you mean by traditionally since I haven't played a lot of DDRace 5-10 years ago and none before that (I was more into Instagib/zCatch/Infection in the past^^).

Dune wrote:

You can already prevent players from going back. I believe those are the blue arrows in the game tiles. They work on redix's server, so if they don't work in DDRace, that would be a bug (or a misplacement).
I don't know how hook-through works on a technical level.

I've already figured out how to do it. It works perfectly. smile

11

Re: [MOD] Simple DDRace (0.7.2)

teeslayer wrote:
Dune wrote:

This sound like a race issue. I reported it upstream: race/#11, I do not know redix's teleport code well.

This has never happened on my Run Guy server though and there are usually a lot of players. I guess interaction between tees haven't been considered for Race.

Good point, in that case it's on the ddr side and I will investigate.

teeslayer wrote:
Dune wrote:

- endless hook: this sounds like it could be achieved through tunings (?) If not, could you expand on what that is and whether it is required on some maps?

Endless Hook = never ending player to player hook. It's kinda overpowered, but some maps use it. It's 17 on the game layer, with 18 being the deactivation. I personally don't know any normal DDRace maps with this, but Blmap4 for example.

That's not very good imo. It is best to keep consistency with the Teeworlds physics, and keep it simple when possible. I don't think this should be included in the mod.

teeslayer wrote:
Dune wrote:

- grenade collision: that's for a separate game mode, right? But now again, it seems like DDRace traditionally didn't differentiate Race and other gametypes, which doesn't sound very good. Might be too late to remediate to that though, so it may be best to straight up add those as options.

It's the default behavior on DDNet's DDRace server and most people will expect it to have collision. I don't know what you mean by traditionally since I haven't played a lot of DDRace 5-10 years ago and none before that (I was more into Instagib/zCatch/Infection in the past^^).

Alright, if it is expected behavior that can be consistently added, that is good.

teeslayer wrote:
Dune wrote:

You can already prevent players from going back. I believe those are the blue arrows in the game tiles. They work on redix's server, so if they don't work in DDRace, that would be a bug (or a misplacement).
I don't know how hook-through works on a technical level.

I've already figured out how to do it. It works perfectly. smile

Redix does nice stuff smile

Not Luck, Just Magic.

12

Re: [MOD] Simple DDRace (0.7.2)

Thanks for making this!
Is there a way to enable unlimited ammo and to disable the damage sound and effects when you are using the rocket launcher on yourself?

13

Re: [MOD] Simple DDRace (0.7.2)

pcjones wrote:

Thanks for making this!
Is there a way to enable unlimited ammo and to disable the damage sound and effects when you are using the rocket launcher on yourself?

1) https://github.com/axblk/teeworlds/blob … les.h#L141

sv_infinite_ammo 1

2) There isn't, but that's a nice idea. This feature has already been implemented for the laserjumps in 0.7 instagib, I should port it as an option.

Not Luck, Just Magic.

14

Re: [MOD] Simple DDRace (0.7.2)

I have not checked if your mod does support more than one gamelayer. If it does not, it will probably be a mess to implement hook-through. If it does, its relative simple. Almost every change that needs to be done would be in collision.cpp but without a server-side cheat it will break the client-side prediction (I have done hook-through in TW 0.5.2 with both multiple layers and without them, and ofc with the prediction cheat).

15

Re: [MOD] Simple DDRace (0.7.2)

As far as I know, redix's race supports more than one game layer, so that shouldn't be a problem.

Not Luck, Just Magic.

16 (edited by pcjones 2019-01-11 03:04:46)

Re: [MOD] Simple DDRace (0.7.2)

Dune wrote:
pcjones wrote:

Thanks for making this!
Is there a way to enable unlimited ammo and to disable the damage sound and effects when you are using the rocket launcher on yourself?

1) https://github.com/axblk/teeworlds/blob … les.h#L141

sv_infinite_ammo 1

Thanks, but that only works when the map has the setting, you can't change that via config or console.
I changed the line and put it in config_variables.h to make it work:

MACRO_CONFIG_INT(SvInfiniteAmmo, sv_infinite_ammo, 1, 0, 1, CFGFLAG_SAVE|CFGFLAG_CLIENT, "Enable or disable infinite ammo")

Maybe you can add the CFGFLAG_MAPSETTINGS flag in the config_variables.h too and it will either choose from the config/console or from the map, but I don't enough about the source code so I just left the MapSettings flag out.

17

Re: [MOD] Simple DDRace (0.7.2)

It is indeed a map setting but it defaults to 1: https://github.com/Dune-jr/teeworlds/bl … les.h#L141
Is that an issue somehow? I mean, if a map specifies sv_infinite_ammo 0, there is probably a good reason for that.

Not Luck, Just Magic.

18

Re: [MOD] Simple DDRace (0.7.2)

Hello, can anyone help me with setup of this server?

Started playing teeworlds since 31 December, 2018.

19

Re: [MOD] Simple DDRace (0.7.2)

Documentation: Server Setup
No special configuration is necessary.

Not Luck, Just Magic.

20

Re: [MOD] Simple DDRace (0.7.2)

Dune wrote:

Documentation: Server Setup
No special configuration is necessary.

but im talking about this server with ddrace modification, i cant run it

Started playing teeworlds since 31 December, 2018.

21 (edited by pcjones 2019-01-11 19:20:25)

Re: [MOD] Simple DDRace (0.7.2)

Dune wrote:

It is indeed a map setting but it defaults to 1: https://github.com/Dune-jr/teeworlds/bl … les.h#L141
Is that an issue somehow? I mean, if a map specifies sv_infinite_ammo 0, there is probably a good reason for that.

Well, when I upgraded maps from 0.5 to 0.7 via the upgrade tool you linked the setting seemed to be on 0 because it definitely didn't default to it.

22

Re: [MOD] Simple DDRace (0.7.2)

pcjones wrote:

Well, when I upgraded maps from 0.5 to 0.7 via the upgrade tool you linked the setting seemed to be on 0 because it definitely didn't default to it.

It's possible that the map_update.exe tool defaults to sv_infinite_ammo to 0, yeah.
In that case I'm adding sv_infinite_ammo as a server command too: https://github.com/Dune-jr/teeworlds/co … 55dc627ed6

Not Luck, Just Magic.

23

Re: [MOD] Simple DDRace (0.7.2)

How to create teleport in map editor? I searched in forum and google but without any answer hmm
I have entities with this stuff, all works expect teleport
And what is "s block"? (red arrow on image)
https://imgur.com/a/cI0lQNl

Sorry if i post in wrong thread

24

Re: [MOD] Simple DDRace (0.7.2)

Those entities don't exactly match that that are used in this mod.  The "S" tile is not used.
As for the teleports, you need to make a #tele layer in the #race group. Look at any functional race in the editor to see what I'm talking about.

Not Luck, Just Magic.

25

Re: [MOD] Simple DDRace (0.7.2)

Dune wrote:

Those entities don't exactly match that that are used in this mod.  The "S" tile is not used.
As for the teleports, you need to make a #tele layer in the #race group. Look at any functional race in the editor to see what I'm talking about.

ok thanks