just Raise Object Limit on 100 player server? are they stupid?

Поділитися
Вставка
  • Опубліковано 6 лис 2024

КОМЕНТАРІ • 870

  • @Rift_cz_sk
    @Rift_cz_sk 9 місяців тому +3387

    As someone who used to work on custom tf2 maps , the object/ item limit is just scary as hell

    • @spa7
      @spa7 9 місяців тому +468

      BOOOO i Am A oBjEcT lImItEr OoOoOo

    • @JetFalcon710
      @JetFalcon710 9 місяців тому +326

      ​@@spa7 AAAAAAA

    • @ModdedProp
      @ModdedProp 9 місяців тому +52

      0/2048

    • @skipmanghondarg
      @skipmanghondarg 9 місяців тому +95

      As someone who used to work with SDK,
      HOW TF DO YOU TURN SNAP-TO-GRID BACK OOOON?!!!

    • @Rift_cz_sk
      @Rift_cz_sk 9 місяців тому +97

      @@skipmanghondarg I DON'T KNOW MAN
      I cry every night it's probably somewhere on top idk bro

  • @someone-g4t
    @someone-g4t 9 місяців тому +4589

    Shonic is the kind of guy to make a map with 11000 path nods just to play with the source spaghetti monster

    • @FreddOtaku
      @FreddOtaku 9 місяців тому +129

      source spaghetti monster is an accurate name

    • @erick5928
      @erick5928 9 місяців тому +93

      Biblically accurate source spaghetti monster

    • @randompersonontheinterwebs
      @randompersonontheinterwebs 9 місяців тому

      "oh god where do i go"
      "pls stop"
      "hl2.exe has stopped responding."

    • @debbiebernhardt5406
      @debbiebernhardt5406 9 місяців тому +14

      The maximum enforced by valve, so send a request to have it set between 1000 min to 5000 max for user control

    • @Kacper42PL
      @Kacper42PL 9 місяців тому

      Truly

  • @throwawwy53
    @throwawwy53 9 місяців тому +2053

    "i tried adding 11000 path nodes, but hammer had trouble compiling the map"
    brother Hammer has trouble compiling my maps with 0 train paths, you're lucky the 7k variant even compiled
    edited to fix grammer errer

    • @iriswav7379
      @iriswav7379 9 місяців тому +72

      Hammer build different

    • @cheesepop7175
      @cheesepop7175 9 місяців тому +8

      compiling*

    • @BurningBridgeStudios
      @BurningBridgeStudios 9 місяців тому +33

      @@cheesepop7175
      That's literally how he spelled it.

    • @vinaythakur4742
      @vinaythakur4742 9 місяців тому +25

      ​@@BurningBridgeStudiosliterally*

    • @Romotis
      @Romotis 9 місяців тому +16

      ​@@vinaythakur4742that's literally how he speled it

  • @Noah_Levy
    @Noah_Levy 9 місяців тому +416

    Since the office plant and the janitor increased the max player count to begin with, it would be interesting to see if they'd adjust the object limit.

    • @ThatOneDudeThatLikesPurple
      @ThatOneDudeThatLikesPurple 9 місяців тому +41

      "the office plant" LMAOOO

    • @fourlion_everywhere
      @fourlion_everywhere 8 місяців тому +52

      The moment I read "office plant", I imagined the plant in a pot staying on a chair infront of computer, and all this on cs_office

    • @SuperDestroyerFox
      @SuperDestroyerFox Місяць тому

      @@fourlion_everywhereis that Computer science_ office 😂

  • @subjectdelta7210
    @subjectdelta7210 9 місяців тому +1204

    i’d gladly sacrifice hats for 50 player games

    • @Luna-Lux
      @Luna-Lux 9 місяців тому +10

      t. Has no unusuals

    • @Romotis
      @Romotis 9 місяців тому +191

      ​@@Luna-Luxmuh shiny pixels on a sooner or later dead game

    • @noahhill841
      @noahhill841 9 місяців тому +1

      ​ok and?

    • @Nitosa
      @Nitosa 9 місяців тому +37

      ​@@Romotisthat's true for every online videogame ever, it's more for personal enjoyment which was the whole point of videogames.....

    • @eco1969
      @eco1969 9 місяців тому +6

      @@Luna-Lux t. Has unusuals

  • @Cinnamowo
    @Cinnamowo 9 місяців тому +1044

    Rubat is a really cool guy, always loved the stuff they did for Gmod

    • @duckonaroll1913
      @duckonaroll1913 9 місяців тому +54

      ficool is a g too i could not live without hammer++

    • @keli5
      @keli5 9 місяців тому +17

      they actually work for facepunch, the creators of gmod now!

    • @tempname8263
      @tempname8263 9 місяців тому +13

      Rubat has been deleting a lot of features lately in Gmod, irreversibly breaking addon support in many places, absolutely love him

    • @unknao
      @unknao 9 місяців тому

      @@tempname8263 Elaborate please.

    • @NinetyEight418
      @NinetyEight418 9 місяців тому +11

      Rubat is not multiple people

  • @soupofundeniablewisdom1629
    @soupofundeniablewisdom1629 9 місяців тому +848

    I think simply doubling the object limit would already solve most things. At best, pushing it up to 4 times it's size (8192) is more than enough to keep 100 player servers entertained. It could also let VScript users experiment more with things, since the object limit would not be a big issue.

    • @Kacpa2
      @Kacpa2 9 місяців тому +67

      Yeah it would be more than enough and there would be no need to patch the renderer.

    • @Spelo1
      @Spelo1 9 місяців тому +65

      ​@@Kacpa2Have u watched the video? Making object limit bigger also requires patching client's tf2, which would be it's own can of worms

    • @ragibmahfuz5241
      @ragibmahfuz5241 9 місяців тому +165

      @@Spelo1 if devs updated tf2, its fixed

    • @Spelo1
      @Spelo1 9 місяців тому +24

      @@ragibmahfuz5241 And what are the chances that they would do that just to cater to some minor player base that just wants to play on a 100 players server?

    • @archduke0000
      @archduke0000 9 місяців тому +150

      @@Spelo1 his point is that it's possible, not that it's plausible. Stop being argumentative for the sake of it, you KNOW what he meant.

  • @vel0city96
    @vel0city96 9 місяців тому +258

    2048 objects/entities would've been a good limit back in 2007. Modern hardware can process all of that at a rate not even dreamt of back in 2007, so actually officially raising the limit to say 4096 wouldn't hurt anybody and would open up a whole new playground for mappers and modders.

    • @Nykomil
      @Nykomil 9 місяців тому +37

      A major portion of the playerbase being on the edge of the game becoming unplayable

    • @leonardo9259
      @leonardo9259 9 місяців тому +6

      yeah, just look at bloodwater, great map frfr

    • @DJTimeLock
      @DJTimeLock 9 місяців тому +32

      would be even better if they let the server decide the size. Would allow more customization. But the default being 4096.

    • @megapussi
      @megapussi 9 місяців тому

      @@Nykomil This would only be relevant on community maps that use more than 2048 objects. None of the maps that currently exist in the game would be affected. The game becoming unplayable for someone doesnt matter if its only unplayable on a map that already was impossible to make.

    • @BackwardsPancake
      @BackwardsPancake 9 місяців тому +41

      @@DJTimeLock Yeah! To be nice, they could also build a "handshake" for it on the client side, so it'll warn you that "playing on this server is going to use additional memory and bandwidth", and stop the connection process if your hardware is really ancient and can't take it.

  • @kodicraft
    @kodicraft 9 місяців тому +292

    I think it's funny to look back now on how eager a lot of people were to install random third party software to play tf2 while faceit was popular in the community. I guess the same people would think it's perfectly fine to install a program that can modify executables for the sake of silly hats

    • @Archimedes.5000
      @Archimedes.5000 9 місяців тому +63

      Given how many people lose their accounts because they download a random exe from an obvious scammer, I think there would be a lot of people willing to download that.
      Besides it's not like "downloading a program for hats" is anything wrong, you are forced to download potentially dangerous executables all the time and usually are fine, welcome to windows I guess

    • @LordOfSilense
      @LordOfSilense 2 місяці тому +3

      Shounic is more trustworthy than Faceit tbf

    • @jaydentt
      @jaydentt Місяць тому

      hi kodi!!!!

  • @soviut303
    @soviut303 9 місяців тому +776

    This feels like something valve could build into the client themselves where the server can dictate the entity limit.

    • @drgabi18
      @drgabi18 9 місяців тому +427

      Me, the server, sending the client an order to allocate 2TB of ram for objects

    • @leithaziz2716
      @leithaziz2716 9 місяців тому +113

      Considering jumping into a random community server can lead to you installing several mega-to gigabytes of space for assets, you would probably need to put a description if possible.

    • @soviut303
      @soviut303 9 місяців тому +122

      @@drgabi18 Who said anything about it being uncapped? You raise the entity limit in the client to a sufficiently high value (8000 to 16000), then let the server tell the client to match its entity limit. This lets server admins host more detailed maps and more players if they have the memory and bandwidth capacity.

    • @kingofbleh
      @kingofbleh 9 місяців тому +4

      Possibly, but there would need to be a cap. Past that, the thing that makes this fix infeasible is the expectation valve ever would.

    • @jking4854
      @jking4854 9 місяців тому +23

      @@8Kazuja8 You underestimate how many mfs run TF2 on low end computers (I was one of them a year ago)

  • @catfree
    @catfree 9 місяців тому +262

    jonkler references are always appreciated

    • @ebux9885
      @ebux9885 9 місяців тому +11

      Unfortunately you were not appreciated by your parents

    • @catfree
      @catfree 9 місяців тому

      @@ebux9885 D:

    • @thatone_awesome
      @thatone_awesome 9 місяців тому

      why are you crediting jonkler instead of man? are you stupid?

    • @Jornker
      @Jornker 9 місяців тому +20

      The jonkler meme is so confusing for me lol

    • @tickaten
      @tickaten 9 місяців тому

      Why did ​@@ebux9885 say that? Are they stupid?

  • @Vvix0
    @Vvix0 9 місяців тому +578

    Purely theoretically, how hard would it be for Valve to patch higher object limit to TF2? We know from the video that it's not that hard to just do, but what would be the consequences of doing so? I imagine there'd be some sort of domino effect of more things breaking after increasing the limit? Or would it really be just simple as that?

    • @nero7699
      @nero7699 9 місяців тому +470

      the server room gets a bit warmer

    • @gameworkerty
      @gameworkerty 9 місяців тому

      Good news it's 20F in Seattle this week ​@@nero7699

    • @FumbleSquid
      @FumbleSquid 9 місяців тому +271

      Not hard, but as shounic said, there may be unintended bugs down the line we don't know about.
      Also it's not like it needs to be raised for what Valve intends TF2 to be, so they have no reason to shake anything up. It'd be nice and maybe something we could've seen with a more active dev team, but probably wont happen now.

    • @Vvix0
      @Vvix0 9 місяців тому +168

      @@FumbleSquid I'd argue that raising the limit would benefit mappers. Latest Halloween maps are already close to the limit, with bloodwater being crashable, even outside of 100 player servers. There's even a person in this comment section, complaining about the object limit as a mapper.

    • @nnikitov57
      @nnikitov57 9 місяців тому +35

      Yes, it's just changing a number, it's that simple. The only consequence is a potential higher server/client load, that's it, there are no other consequences .

  • @luigibudd
    @luigibudd 9 місяців тому +284

    why doesnt valve just fix all the bugs? are they stupid??

    • @sleepersharks
      @sleepersharks 9 місяців тому +30

      is valve artistic?

    • @_Epidemic_
      @_Epidemic_ 3 місяці тому +13

      @@sleepersharks I dunno but I’m autistic and if I worked at valve and was assigned to deal with the source spaghetti monster within tf2 I would kms

    • @fiendfoliorealnotfake
      @fiendfoliorealnotfake 2 місяці тому +31

      Why dont they just type "if bugs=true then fix"

    • @normanmai7865
      @normanmai7865 2 місяці тому +8

      ​@@fiendfoliorealnotfake Man is genius! Bwahahahahaha!

    • @Cool1st
      @Cool1st 2 місяці тому +5

      There has to be a lore reason behind this…

  • @eyevou
    @eyevou 9 місяців тому +22

    "Exponential Painful" is a VERY good wait to describe programming in general.

    • @cewla3348
      @cewla3348 9 місяців тому +1

      i forgot to add the library im using in ONE function's parameters, so now its bugged and i have to do some boring stuff

  • @Tuntor689
    @Tuntor689 9 місяців тому +53

    shounic must’ve gotten the title of the video in the comments a lot, because despite the fact he’s addressed this issue in a previous video, he still had to make an entirely new one on why it doesn’t really work

  • @Shuflduf
    @Shuflduf 9 місяців тому +38

    Surprisingly, I find your server much more enjoyable to play on compared to the casual servers. Since I'm as f2p, being able to call for a medic is an actual lifesaver. And the dopamine hit of hitting a nasty crocket into the enemy team and getting 8 kills that I didn't deserve makes it infinitely better.

    • @Jun.Suzuki
      @Jun.Suzuki 8 місяців тому

      just spend $5 retard

  • @sprucewillis9000
    @sprucewillis9000 9 місяців тому +38

    Havent't played TF2 in a while, but I absolutely love the epic saga of the 100 Player Server

  • @triumphator4714
    @triumphator4714 9 місяців тому +39

    Arkham insanity really gets to him.

  • @Flashyface
    @Flashyface 9 місяців тому +41

    I wouldn't mind if Valve raised the limits for every game to what CSGO's limits are.

  • @heliusuniverse7460
    @heliusuniverse7460 9 місяців тому +200

    It would be nice if valve doubled the object limit in a future update

    • @pixcore7221
      @pixcore7221 9 місяців тому +110

      It would be nice if valve made a future update

    • @IiiiIiiIllIl
      @IiiiIiiIllIl 9 місяців тому +29

      It would be nice if valve wasn't an abusive father figure

    • @dsobransingh
      @dsobransingh 9 місяців тому +13

      It would be nice if valve

    • @gerardonavarro3400
      @gerardonavarro3400 9 місяців тому +9

      It would be nice

    • @hablo_papøl
      @hablo_papøl 9 місяців тому +11

      it would be

  • @tuduscz6836
    @tuduscz6836 9 місяців тому +27

    I was thinking if the limits of 32bit architecture would be potential problem too like if all 100 players had theirs unique cosmetics it might be possible to reach the 4 GB limit

    • @algotkristoffersson15
      @algotkristoffersson15 11 днів тому

      Even with a 32 bit architecture you can just. Use multiple variables too keep track of the list.

  • @or6060
    @or6060 9 місяців тому +83

    i do miss not having sprays. 100 sprays on a server would be amazing

    • @JM-dq7xn
      @JM-dq7xn 9 місяців тому +2

      wait sho enabled sprays some time before, they're gone again?

    • @lilsos6892
      @lilsos6892 9 місяців тому +8

      @@JM-dq7xnthey are still there. Just 60 outta 100 playere can use them. If your index is 61 and higher - you won’t be able to spray

    • @or6060
      @or6060 9 місяців тому

      @@JM-dq7xn when i played nobody had them

    • @jackraptor695
      @jackraptor695 9 місяців тому +8

      I miss my furry spray :(

    • @lilsos6892
      @lilsos6892 9 місяців тому

      @@jackraptor695 You were behind classic:
      "Today we are doing an experiment to find out"
      "how much cock can a single boipussy take", mr. Mathf?

  • @brastionskywarrior6951
    @brastionskywarrior6951 9 місяців тому +19

    the insane player density + no hats on the server leads to some interesting phenomenon
    -since there are no hats players look interchangable, + with the great player density spy can actually disguise and have it work sometimes since everyone blends into eachother. Assuming the map is big enough to not get choked out by projectile spam. Which balances spy out
    -stock stickies + the base jumper is actually good, since players still dont look up and are dense enough to where most stickies fired will hit something. This also gives sniper a new niche since hes one of the only classes easily able to quickly shoot a demo bomber out of the air
    -despite mvm levels of player density the gas passer is still garbage. Since it doesnt do meaningful damage and any player hit by it is about to die or near a medic anyways

  • @eatingmage603
    @eatingmage603 9 місяців тому +61

    Why don’t they just port everything over to Source 2? It would solve every one of their problems, including world hunger.

    • @VoxAstra-qk4jz
      @VoxAstra-qk4jz 9 місяців тому +32

      Valve said no

    • @TeamSprocket
      @TeamSprocket 9 місяців тому +53

      Valve devs are too busy making the 100th game that will never release

    • @yousorooo
      @yousorooo 9 місяців тому +8

      @@TeamSprocketValve used to make games, now they just make money.

    • @leithaziz2716
      @leithaziz2716 9 місяців тому +43

      @@yousorooo Valve's issue is moreso a unique case of only focusing on making games as long as they make something that pushes technology that justifies it. Valve is more of a tech company nowadays and don't have much interest in the gaming market.

    • @Cheerybelle
      @Cheerybelle 5 місяців тому

      lol. lmao.

  • @Tharronis
    @Tharronis 9 місяців тому +73

    Could you maybe patch the server to be able to handle more than 2048 objects, and try a couple methods to make sure the client only ever needs to handle a max of 2048 per update tick? (Start alternating which set is sent to the client each tick? Pick entities within range of each client or something much more processing intensive?) Then your server won't hard crash any time the entity limit is breached which will increase stability, and you wouldn't need clients to patch.

    • @nerdycatgamer
      @nerdycatgamer 9 місяців тому +28

      The issue is basically the game reserves a buffer of memory to store all the objects, and the entity limit is just a hardcoded constant for the size of this buffer. Both the server and the client store a copy of this buffer and use it for reference, so they need to be the same size. To have the server have a different entity limit than the client would probably* require complete redoing of the routines for transfering the data. At this point, we're changing the binary executable of the game so it's no longer the same one serviced by steam, which could cause the problems listed in the video (needing a program to patch it, VAC, etc).
      *I haven't actually looked at the code myself. This is an educated guess based on what is shown in the video and my own knowledge.

    • @grumpykitten4566
      @grumpykitten4566 9 місяців тому +11

      That's what I was thinking. Like trying to cull out any objects from the servers' master object list to fit within the 2040 limit for each player.
      That can even be done in parallel which by dear god we have a lot of cores doing jack.

    • @nikkiofthevalley
      @nikkiofthevalley 9 місяців тому +10

      I have a feeling that the client won't like that, assuming this is possible in the first place. Creating and destroying 2000 objects every tick cannot possibly be good for a system not designed to do that.

    • @Tharronis
      @Tharronis 9 місяців тому

      @@nikkiofthevalley Yea that seems very possible, but it could be interesting to try. For science!

    • @MicahJohn21659
      @MicahJohn21659 9 місяців тому +3

      ​@@nikkiofthevalleyif done properly then it won't be destroying 2000 objects every tick
      Similar methods have worked for quake 3 based games which is a very similar networking model

  • @hedwig7s
    @hedwig7s 9 місяців тому +52

    Out of curiosity would it be possible to modify object replication to:
    Replicate all essential objects
    Replicate non-essential objects based on distance until hitting the limit

    • @saiv46
      @saiv46 9 місяців тому +6

      I thought about that too, the problem is that the server needs to constantly keep track of everyone's object list for every single player, which is bad for performance.

    • @ZugTheDragon
      @ZugTheDragon 9 місяців тому

      I've had that idea too. I guess the performance argument is a good one, but perhaps if someday more server power is available for cheap it'd be an interesting thing to try

    • @hedwig7s
      @hedwig7s 9 місяців тому

      I mean I know games like Roblox use a similar replication technique so it might work

    • @hydraulicsystems332
      @hydraulicsystems332 9 місяців тому

      @@saiv46 the server already does that? Correct me if I'm wrong but the server doesn't tell you the state of some one's hat if they are out of line of sight, otherwise you could wallhack, or do they just tell you everything on the map at all times?

    • @Mernom
      @Mernom 9 місяців тому

      @@saiv46Honestly, server performance is less of a concern, as it can easily be made into a more powerful machine.
      I would say that the technical complexity of making it work is more of an issue.

  • @meatystalactite531
    @meatystalactite531 9 місяців тому +15

    I’m sure absolutely no one is surprised but ficool2’s profile pic (3:31) is from a very popular animation involving two male Beastars characters who explore new ways to show their appreciation for each other. Just if anyone was curious.

    • @turnerbytrade6700
      @turnerbytrade6700 9 місяців тому +1

      Proof?

    • @kitkatchomper69
      @kitkatchomper69 9 місяців тому +2

      i know bruh i was freaking the hell out when i saw that

    • @cemint9268
      @cemint9268 9 місяців тому +2

      Glad I wasn’t the only one who noticed LOL

    • @minus100iq8
      @minus100iq8 7 місяців тому

      I mean, he is polish (at least according to his steam profile)

    • @karhu7581
      @karhu7581 2 місяці тому +1

      Yes, truly this animation shows entirely new and unexplored avenues of friendly and wholesome conduct

  • @Aspect333-w9o
    @Aspect333-w9o 9 місяців тому +66

    Is there a lore reason?

    • @qoombert
      @qoombert 7 місяців тому +20

      are they stupid?

    • @shinycat1232
      @shinycat1232 Місяць тому

      The law was set in place by president Abraham Lincoln because no one would agree to a nuclear treaty without any proof.

    • @akahelpwttubers
      @akahelpwttubers Місяць тому +1

      Bulbasaur

    • @shinycat1232
      @shinycat1232 Місяць тому +1

      @@Aspect333-w9o Isaac Newton wished to simulate wars before they happened on his ti-84 calculus

  • @floridaboigaming6961
    @floridaboigaming6961 9 місяців тому +37

    2:58 bro thought he was Todd Howard 💀

    • @hectorgilgil6990
      @hectorgilgil6990 2 місяці тому

      IT JUST WORKS IT JUST WORKS LITTLE LIES STUNNING SHOWS PEOPLE BUY IT JUST WOOOORRRKKS

    • @blacklight683
      @blacklight683 Місяць тому

      ​@@hectorgilgil6990IT JUST WORKS, IT JUST WORKS
      OVERPRICED OPEN WORLDS
      EARNINGS RISE, TAKE MY WORD
      IT JUST WORKS

  • @ThatNerdGuy0
    @ThatNerdGuy0 9 місяців тому +6

    5:13 "all that including needing to keep up with tf2 updates"
    I like your funny words magic man

  • @leumasme
    @leumasme 9 місяців тому +6

    Further patching of the server to hide irrelevant objects from the client (e.g. entities that are guaranteed to be out of view anyway, probably using visleaves which tf2 already uses) would probably be possible. The client probably never needs to actually know of all entities everywhere on the map.

  • @ColonelPanic0
    @ColonelPanic0 9 місяців тому +4

    If they raised the object limit they could probably also re-insert the effects that got removed over time, like the individual syringes in the syringe gun that disappeared to make room for hats.

  • @Mochaaaauwu
    @Mochaaaauwu 9 місяців тому +6

    Was alt tabbed in tf2 while watching this video. I actually thought my game crashed at 0:42 and tried to quit out for a second. Help

  • @bikutoso
    @bikutoso 9 місяців тому +69

    It probably would be more effort than what it's worth, and could have massive issues.
    But would it be possible to further modify the server to send a truncated object list, where objects ranked low to high importance is removed to meed the client limit?

    • @OrderPrerogative
      @OrderPrerogative 9 місяців тому +1

      Whats the point? Its much harder to get pñayer object limit, send objects with priority to each different player then just not doing all of that. On top of requiring a third party app to even join with chance of getting vac

    • @OrderPrerogative
      @OrderPrerogative 9 місяців тому

      Whats the point? Its much harder to get pñayer object limit, send objects with priority to each different player then just not doing all of that. On top of requiring a third party app to even join with chance of getting vac

    • @Saltience
      @Saltience 9 місяців тому +11

      @@OrderPrerogativethat’s not what he’s saying, he’s saying the server would keep a list of 2048 “relevant” objects to send to the clients, that way it doesn’t require a patch on the client end, but still has the ability to go over 2048.

    • @nerdycatgamer
      @nerdycatgamer 9 місяців тому +2

      It would be a ton of effort, and the process of ranking the objects and only sending the 2048 most important ones would probably use too much processing power and just make the server run slower (shoenic has said that the server does not have an abundance of cpu cycles)

    • @ChaosSwissroIl
      @ChaosSwissroIl 9 місяців тому +3

      @@nerdycatgamer That's because TF2 itself is a single thread process. Processing server data does not need to be done within TF2 though, only sending out the data 'needs' to be done in TF2. The limitation is in whether or not you can send specific clients specific data.

  • @nanomachines2954
    @nanomachines2954 9 місяців тому +5

    I no longer play TF2 but damn I still love watching your videos.. something so entertaining about watching you dissecting every small bit of Source's spaghetti code xD

  • @8BitShadow
    @8BitShadow 9 місяців тому +2

    so basically; you'd have to mod the game engine and not just the game itself. A line that is a very risky road to cross. Mods can be sandboxed (by the engine), mods of the engine itself really can't.
    Understandable why you wouldn't, had the same conundrum myself but with unity for RoR2.
    Was working on a specialised and *highly* experimental sudo mod-loader I called "Plug-and-Play" for streamlining the modding process & live modding severs - not intended for public use because I predicted it would be just way to unstable.
    The mod would allow you to load any mod into the game *at any time even while in-game* so that while developing your mods you can just re-load your mod whenever you make a change to practically instantly test the changes, especially useful if all you're doing is updating some text.
    --
    if you're insteresting in how it works:
    It still used BepInEx to load mods in for the most part but acted as a 'intermediary'; calling functions that the mods are trying to call and generally hooking things from the mod into unity - not loading in the mod, BepInEx did that, and not hooking directly like BepInEx does but listening for calls and forwarding them instead, so not really a mod-loader per-say but functionally like one.
    --
    *And it worked.* Though I only ever 'hooked' the basic functions unity uses (like Update()) as it was just a proof of concept.
    The problem? You couldn't *unload* the mod once it was loaded, defeating the entire point of 'load-unload-update-load' testing.
    The fix was to use something called "domains" for managing loaded DLLs and by all means it *would* work, but the version that RoR2 is on of Unity is literally *1 week too new.*
    That's right. Unity didn't just disable but outright removed domain loading, trying to use it now will just throw an error that it's "not supported".
    Trust me I tired to look for a solution but I couldn't find one that wasn't just "re-add it to the engine by having users modify the the engine - re-implementing it".
    Which would work and by all means it's possible to automate the modification but, just as it would here, that's very dangerous and asking A LOT of the user - even if they're a modder themselves.
    Just modding the engine is a line I don't think I'll ever cross.

  • @IsaacDaBoatSloth
    @IsaacDaBoatSloth 9 місяців тому +3

    if valve fixed it to like say a 10,000 object limit which apparently is where issues arise, then maybe it could work, or a setting in the launch options that allows clients to increase the limit, or clients copy the servers limit

    • @henke37
      @henke37 9 місяців тому +4

      It has to be a power of two, so 16684 or 8192 entities.

    • @nerdycatgamer
      @nerdycatgamer 9 місяців тому +2

      You wouldn't be able to set it in the launch options because this would restrict what servers you're able to connect to (your limit must match the servers), and just taking the server's limit could be an issue because the server would basically be telling your computer to allocate a buffer of whatever size they want, and stupid/malicious server admins could set the entity limit stupidly high and make your computer run out of memory.

    • @heliusuniverse7460
      @heliusuniverse7460 8 місяців тому

      @@henke37 It doesn't have to be a power of 2. It is simply a constant in the code.

  • @MentalEdge
    @MentalEdge 9 місяців тому +1

    I host Titanfall 2 servers, which also runs on source (though modified). With the Northstar mod, it's possible to past the vanilla player limit of 12, however, going past 16 starts exhibiting some weirdness.
    Past 18, you have to increase the object limit, and it does work. That's nowhere near 100 players but remember that TF has titans and NPC's and other stuff. Lots of objects.
    But when playing, it's like the client doesn't get all the data from the server to display everything. Explosions might go off and have an effect, but you won't hear or see the explosion effect client side. Basically, stuff starts to go "missing" in the communication between server and client.

  • @thisdeath
    @thisdeath 9 місяців тому +5

    WAIT THE ASLUME REFRENCE OMGOSH

  • @Sonic3Knuckles
    @Sonic3Knuckles 9 місяців тому +5

    4:50
    Why not tell valve to update it on our end? Are they stupid?

    • @shinobuoshino5066
      @shinobuoshino5066 9 місяців тому

      They took 2 days to fix item server.
      I don't want to wait 20 years for them to fix any gamebreaking bug introduced by raised item cap.

  • @Naxer2272
    @Naxer2272 9 місяців тому +5

    So essentially, get Valve to increase the object limit.
    They've been doing simple changes from others before, like shown here in this video, so they could do this as well.

  • @mctoggo
    @mctoggo 9 місяців тому +6

    shounic uploading is always a good day

  • @Williraser
    @Williraser 9 місяців тому +7

    5:21 keeping up with updates...what updates?

  • @terrestrialTerror
    @terrestrialTerror 4 місяці тому

    Several people talked about some kind of per-player way to stay under the limit using the visleaf system + some kind of priority system to cull entities. It's the most error prone and viscerally fun to program solution (until you get stuck on *that one bug* for like half a year wondering why you are still alive).
    Definitely will never be implemented, but it will sure as hell bounce around in my head.

  • @Kachopper9
    @Kachopper9 9 місяців тому +5

    Oh no the title, you’ve been infected

  • @bobiddybob2068
    @bobiddybob2068 9 місяців тому +3

    Its official, shounic has escaped the aslume.

  • @RaceBandit
    @RaceBandit 9 місяців тому

    The title alone actually reminds me of a time the Beat the Geek _(It was an online Tower Defense game.)_ owner tried to extend its score limit from the 32-bit limit to ... i think the 64-bit limit. It, uh, _broke things._

  • @svlmain
    @svlmain 9 місяців тому +4

    4:34 would there be a way for the server to lie to the client about the amount of objects? only listing the closest 2048 (maybe + a priority system) or something to that effect

    • @TheMiningCrafter
      @TheMiningCrafter 2 місяці тому

      I mean I bet there’s a way but it’d be fairly slow to do culling server-side and I’d imagine it would be weird with high latency

    • @svlmain
      @svlmain Місяць тому

      @@TheMiningCrafter ok yeah but the alternative is the game crashing

  • @goobertnelius
    @goobertnelius Місяць тому +1

    Unless all of the objects are on screen at once, then i dont see the issue, but idk how tf2 handles client side prediction and im too lazy to read the "paper" they did on it

  • @marzuyo
    @marzuyo 3 місяці тому +1

    3:30 that animation lives in my head rent free

    • @flusen9408
      @flusen9408 2 місяці тому +1

      What animation?

    • @karhu7581
      @karhu7581 2 місяці тому +1

      @@flusen9408 if you are the type who ought know, you already do. Don't worry about it.

  • @sheevpalps66
    @sheevpalps66 9 місяців тому +2

    I feel like Valve could just double the entity limit to 4096 from 2048 and it probably wouldn't break anything minus what the video said. I wish Valve considered this and actually told the community why or why not.

  • @alexanderlevy158
    @alexanderlevy158 28 днів тому

    "and the problem lots of interesting things is that they tend to have exponential painful..."
    So inspiring. So real. Gaben a real one for that o7

  • @laszlobenedek2710
    @laszlobenedek2710 9 місяців тому +5

    is it possible to sort the objects by distance from the player and only send the first 2048? that way the server could be patched without the client's knowledge

  • @MOOMOO22MOO
    @MOOMOO22MOO 9 місяців тому +1

    In theory, could't you write some kind of translation layer, that only sends 2048 objects to each client, cutting whatever ones are far away from them or otherwise not necessary. While still handling all of the objects on the server side. So the clients don't even know that the object limit is raised. Similar to how something like Geiser allows minecraft bedrock players to connect to java servers by adding a translation layer. The Minecraft bedrock client doesn't even know that it's not a bedrock server. This would of course have a performance cost on the server, that would possibly be quite severe.

  • @karhu7581
    @karhu7581 2 місяці тому +1

    Hmm... Ficool's profile picture is uh, totally unfamiliar to me. Yes, I have never seen that collection of pixels before in my life.

  • @XionLuis
    @XionLuis 9 місяців тому +2

    they tend to have exponential painful.

  • @autistukral
    @autistukral 9 місяців тому +4

    Man it would be nice if Volvo increased the limit to 4096 or 8192 :)

  • @AfraidMonsters
    @AfraidMonsters 9 місяців тому +8

    3:31 Uh... Is that profile picture from what I think it's from? (a gay legoshi phrn image/vid, pretty sure)

    • @camerontodd4686
      @camerontodd4686 4 місяці тому

      Pog

    • @novameowww
      @novameowww 3 місяці тому +5

      any time you see a cropped picture of legoshi there's a 50/50 chance it's from something naughty

    • @markiplieristhebestpizzato2743
      @markiplieristhebestpizzato2743 2 місяці тому +1

      It indeed is.

    • @AfraidMonsters
      @AfraidMonsters 2 місяці тому +1

      @@markiplieristhebestpizzato2743 omg. just found his prof. bio says he's the creator of hammer++ too lol. So that's kinda hot ngl... that he likes gay yiff. lmfao.

    • @GrinceMaster73
      @GrinceMaster73 Місяць тому

      @@AfraidMonsters
      >be ficool2
      >make a more stable and better version of hammer
      >make multiple helpful patches for a extremely old and popular multiplayer game
      >make your pfp cropped porn and not give a shit
      >refuse to elaborate

  • @EdisonGarsecondchannel
    @EdisonGarsecondchannel 9 місяців тому +1

    Same thing goes to other source engine games like left 4 dead 2.
    There were some custom maps almost exceeded 2048 limit.

  • @purplehaze2358
    @purplehaze2358 9 місяців тому +1

    Hey, at least you didn't outright get rid of items entirely, which is more than I can say for Valve.

  • @yeetboiwhatyesplease2095
    @yeetboiwhatyesplease2095 7 місяців тому +1

    I just realized how little I truly know about programming

  • @ApocalypseMoose
    @ApocalypseMoose 9 місяців тому +1

    It turns out that we were the spaghetti code all along.

  • @johnnyboy90528
    @johnnyboy90528 9 місяців тому +1

    >"Keep up with TF2 updates."
    Yeah, I dont think that one is gonna be much of a problem.

    • @apchistuz
      @apchistuz 9 місяців тому

      bugfixes, seasonal updates

  • @shinobuoshino5066
    @shinobuoshino5066 9 місяців тому

    This is one of these rare cases where dynamic memory allocation would completely nullify all of these problems while not affecting existing game whatsoever. It is simple: server tells you what cap is used for current map, one allocation per change of map won't harm performance at all.
    This requires full engine memory management rewrite to accomodate changing object limit per-map so you can enjoy 2048 object limit on existing maps but raise it client-side to a higher number when connecting to 100 player servers and will never happen.

  • @samblamjam
    @samblamjam 9 місяців тому +9

    Is shounic from aslume? Am I stupid?

    • @professionalshitposter6897
      @professionalshitposter6897 9 місяців тому +2

      according to quantum mechanics, you are both stupid and not stupid at the same time

    • @gajonoob5122
      @gajonoob5122 9 місяців тому

      ​@@professionalshitposter6897schrodinger's aslume

  • @_Funtime60
    @_Funtime60 9 місяців тому +1

    A more complicated solution is to add a truncation layer where the server removes data objects from the list before sending it to the clients. If a client doesn't know about an object on the other side of the map it'd probably be fine. It'd just take an ABSURD amount of work I assume.

    • @remove_the_fucking_at_sign
      @remove_the_fucking_at_sign 9 місяців тому

      The problem with PROBABLY that is that every entity (every player character, their weapons, their projectiles, buildings, hats, facial animations, map stuff, etc) has a unique ID number associated with it, that the server and client are both expected to know is associated with a specific entity. These IDs would be expected to be only within the range of 0 to 2047, and the server would need to remember what every one of it's 100 clients *thinks* the 2048 entity list contains, which would be a table with over 200,000 IDs being mapped.
      Which the server would have to search constantly to essentially process "oh I'm about to tell client #25 about entity #5138, what ID does he think that entity is?; Oh, and I also need to tell client #27 about the same entity, what ID does he think it is? Oh shit, client #51 moved into the teamfight, so I have to update what entities he knows about, and there's 70 players (+210 weapons, 210 hats, and a bunch of projectile spam) he's about to see"; which is simply a massive amount of processing overhead, on top of the server having to redefine everything about the entity when it "spawns" it for the client.
      So instead of simply saying "Hey, player #87, entity #1435 is at this position", it needs to say "Hey player #87, create an entity #1435 which is a player demoman, equipped with entity #1436, a strange grenade launcher named "Kablooey" and 1528 kills, entity #1437, a strange professional killstreak quickiebomb launcher with team shine and firehorns, entity #1438, a conscientious objector named "mai waifu" with a picture of Tifa inviting the viewer to f her, entity #1439, a [...]"
      Which it will need to repeat every time another player moves into render distance of the player.
      And it still doesn't stop issues occurring if more than 2048 entities are in the vicinity of a player anyway, either crashing the client or causing rockets to be invisible to only the client or hats disappearing.

    • @_Funtime60
      @_Funtime60 9 місяців тому

      @@remove_the_fucking_at_sign that kind of translation isn't difficult to make, the issue is cramming it into a system that wasn't built for it. It is more work for a processor, but the processor is fast, the difficulty is in the programming. The CPU cost could even be mostly negated by using a proxy to translate on a separate thread, though that'd possibly be even harder.
      As for the "spawning" issue I hadn't thought of that. I don't think it'd be that much of an issue in the grand scheme of things. I don't know how it's coded so I can't really say for sure, but I still like my idea. I sure hope someone comes up with a solution though.

  • @ReiCaixa
    @ReiCaixa 3 місяці тому

    Who knows, maybe with a Source 2 version of TF2 they could increase the limit and also make other things better (like the Sniper dot to other players).
    Maybe they'd even enable us to wear any amount of cosmetics as long as they're compatible (and not more than 1 cosmetic per body area).

  • @T3KFTW
    @T3KFTW 9 місяців тому +1

    if valve simply made a tweak that was "default limit" and allowed the server to tell the client about the new "limit" as they're connecting. Maybe not that simple because I don't know much about source engine

  • @meeyatttA
    @meeyatttA 9 місяців тому

    As you have said, the only thing it would change is allowing hats to be used, but it still would've been nice to have an option regardless

  • @TzTokJzSok
    @TzTokJzSok 9 місяців тому

    I love the quotes you always place at the end

  • @aaronlink127
    @aaronlink127 9 місяців тому

    I feel like there *could* be a plugin made that spoofs object info sent per client, such that it never tells any client about more than 2048 objects at once. But, that would, a. be significantly harder to do, and b. might result in weird bugs like objects disappearing (?)

  • @zesnowpea6347
    @zesnowpea6347 9 місяців тому +4

    The aslume is spreading

  • @YotaXP
    @YotaXP 9 місяців тому +4

    Could the server be modified to only send the 2K objects nearest to each respective player?

  • @Aelfraed26
    @Aelfraed26 9 місяців тому +2

    So the reason it's not possible for Valve to simply update the game with a higher object limit is because due to the nature of TF2's spaghetti code a lot of things could break now or down the line and since very few people are working on TF2 it's not feasible?

  • @FavoritoHJS
    @FavoritoHJS 9 місяців тому

    here's a very stupid idea: indirect object addressing
    so the server has 4k objects, which is more than enough to run all maps, but each client can only see up to 2048 of them.
    this is done by an indirection table that translates server object ids to client object ids and back. could also be per-player to allow finer-grained eviction.
    eviction will still occur, but only means that some objects cannot be seen by clients, and not that the object is permanently gone, so once the object load goes down or the object becomes important enough they can be added back.

  • @Nananki
    @Nananki 9 місяців тому

    I love these deep dives into TF2, simply excellent videos sir!

  • @hannah42069
    @hannah42069 9 місяців тому +3

    You could cull objects that aren't nearby the player. So the server has 16k objects, but the clients only has 2k objects. Using some kind of hash algorithm to convert the index between client/server. The hard part would be keeping track of what objects each client is aware of, but with enough work it's definitely doable

    • @pauldeddens5349
      @pauldeddens5349 9 місяців тому +3

      This seems like its bound to lead to bullshit kills. Anyone with high ping will be zooming around the map, seemingly invisible to all other players. God forbid that high ping player is a _spy._ Id think it would also lead to larger maps with long sightlines becoming extremely unfair, as snipers will pop into existence from across the map, ready to headshot you.
      And on smaller maps, well people further from you would just start disappearing. Which is a problem if one of those is a heavy shooting into you from behind a crowd.
      The trolling would be outrageous too. If your allowed hats, an entire team of cloak n dagger spies with maximized cosmetics could roam invisibly into your base, and cause you to just stop rendering your own teammates.
      Basically, you can never predict what players will or wont be important to another users match at any given point. A sniper across the map could have you rendered in, but you may not have them rendered in. It will just give a distinct advantage to those with higher ping, or less activity going on around them.

    • @hannah42069
      @hannah42069 9 місяців тому

      @@pauldeddens5349 What if you prioritised players so that they're guaranteed to always be sent? That's a good point though. Maybe other objects need prioritisation too? e.g. hats would be the lowest of all

  • @primusfishing
    @primusfishing 9 місяців тому

    Honestly this is all I have been playing for the past month. I even got to play with Shounic once and he started messing with the server adding to the chaos 😂

  • @green929392
    @green929392 9 місяців тому +1

    I think doubling it to 4096 wouldn't be too crazy, valve should consider it

  • @wile123456
    @wile123456 9 місяців тому

    It's like the thermometer in littlebigplanet DO NOT HIT THE LIMIT

  • @zfilms4858
    @zfilms4858 9 місяців тому +7

    aka, this is something VALVE must update themselves... which will be never unless we make the augment part of #SaveTF2

  • @veltarden2419
    @veltarden2419 9 місяців тому +1

    1:10 I would shit bricks if I ever come across as erver wich announces its crash like that

  • @jakovsaric9492
    @jakovsaric9492 9 місяців тому

    Would it be possible to have a proximity/priority based system of sending object data?
    E.g. pipe isn't important for us if it is more than 1000hu away, and therefore server doesn't send it to us

  • @zethekobold
    @zethekobold 9 місяців тому +1

    Seeing Ficool2’s profile picture was like a slap to the face

  • @CentreMetre
    @CentreMetre Місяць тому +1

    What if the server set the limit, and the client set that same limit the way you did in the code? Would that work since then the numbers are the same.
    Also, random theoretical question, what if the client set their object limit to higher than the server, but lower than what would surpass the 32bit 4gb limit?

  • @someone4229
    @someone4229 9 місяців тому +10

    Is it possible to just not send the client enough objects to crash? Maybe ignore too far away or generally unimportant objects?

    • @Aura_Mancer
      @Aura_Mancer 9 місяців тому +3

      Then the server would be slower having to process the decision making of what to send to specific 100 players according to their viewpoint. It's not viable

  • @typicwhisper6569
    @typicwhisper6569 9 місяців тому +1

    What about having the server only send a portion of the objects to the clients? Like only visible or important ones. It would be quite the technical marvel to achieve that.

    • @LonelySpaceDetective
      @LonelySpaceDetective 8 місяців тому

      re: "only the important objects", that's kind of what the 100-player server is already doing by disabling cosmetics and some unimportant map entities. Like, the main point of raising the object limit is to make it so they don't _have_ to do that.
      I can't speak for the feasibility of "only visible objects" with certainly, but... I can't see that actually solving anything, since the object list has to be kept track of _globally._ If there's too many objects for the server, it doesn't matter if the object list hasn't been exceeded yet for the players; the server's still crashing anyway.

  • @SanryoBrosYT
    @SanryoBrosYT 9 місяців тому +2

    Maybe with the *64 bits updates, they will upgrade the object limit?

  • @pyrofromtf2
    @pyrofromtf2 9 місяців тому +5

    I am Pyro from TF2. I became real.

    • @Emi_554
      @Emi_554 9 місяців тому

      Dont

    • @floober6428
      @floober6428 9 місяців тому

      get a new joke

    • @AFarr2848
      @AFarr2848 9 місяців тому

      Dude are you really still doing this unfunny larp

  • @ihavethisnowiguess
    @ihavethisnowiguess 9 місяців тому +5

    you could use occlusion culling of objects, but i have zero idea how good it would work(and would probably only solve issues to a certain point)

  • @notloopers1110
    @notloopers1110 9 місяців тому

    Its good to know my question wasn't fully stupid, only partially
    Nice video regardless!

  • @SSM24_
    @SSM24_ 9 місяців тому

    TL;DW: increasing the object limit works fine serverside, but the object limit also exists clientside so everyone who wanted to play on the server would need to mod their TF2 for it to work

  • @auraguard0212
    @auraguard0212 3 місяці тому

    Valve: "By forcing the game to break if it handles more things, we are optimizing it."
    Me: _plays on a business laptop with Intel Integrated Graphics_ "Aww come on!"

  • @metalclawsteelheart
    @metalclawsteelheart 9 місяців тому

    Ok, so what if the server sends limited data? Like how minecraft lets you limit the render and simulation distance. Such as, say, it only sends data of the 2048 closest entities, prioritising things like players and projectiles? How would source handle that?

  • @mathgeniuszach
    @mathgeniuszach 9 місяців тому

    "Just increase the limit!" is the equivalent of "just open a window" if it's too warm inside. Without a proper bugscreen you now have to set up and maintain, it lets bugs in.

    • @polytanium
      @polytanium 9 місяців тому +1

      For no reason, in particular, do you have any experience at all with coding outside of JavaScript and Python?
      Because this really isn't that hard.

    • @mathgeniuszach
      @mathgeniuszach 9 місяців тому

      Smells like bait, people. No need to respond.

    • @polytanium
      @polytanium 9 місяців тому

      @@mathgeniuszach not bait.
      i have a degree in computer science, and have been doing this for years.
      it's not that hard man.

    • @mathgeniuszach
      @mathgeniuszach 9 місяців тому

      @@polytanium I guess I'll bite, if not just to tell you that I'm just restating what the video already said:
      In theory, it's easy to just increase the object limit by increasing the number in some C code, provided you modify some other C code to fix some other bugs that arise. The game runs perfectly on it's own.
      In practice, this isn't practical for Shonic to do on the server because it opens up problems with distributing the code between all players. Adequately fixing these problems are extra things that need to be maintained, much like the bugscreen in my analogy.
      If you have a problem with this reasoning, take it up with Shonic, not with me. That was just what he said in the video. I'm simply restating what he already said in a different way.

    • @apchistuz
      @apchistuz 8 місяців тому

      ​@@polytaniumfor no reason in particular, do you have any experience at all with coding outside of scratch?

  • @borkbork4286
    @borkbork4286 2 місяці тому

    can u omit things the player has to keep track of in their entity list from the server? i wonder if its possible to omit sending info of entities from areas of the map the player isnt around, the server still keeps track but the client doesn't have to know so they still have space left cuz of their entity limit

  • @NikitaShokin2003
    @NikitaShokin2003 9 місяців тому

    What if you add custom object who will be responsible of storing exceeding object's data? Does game have limits on object's data size? If not, there should be ways of packing all data game needs to display meshes, animations, particles etc in a single object. If you can make client to display stuff without creating an object for each data pack - it should do the trick. If not, you can try to spawn and despawn objects needed to be drawn at the moment.

  • @Player1Joined
    @Player1Joined 9 місяців тому +1

    At 3:30 , is it wrong of me that I know where ficool2's profile picture originated from?

    • @blank_ZIP
      @blank_ZIP 9 місяців тому

      Ik exactly what your talking about T~T

  • @hegyak
    @hegyak 9 місяців тому

    My thought on this, is the Legacy of TF2. WAY Back when Orange Box was on Xbox 360 and PS3. The hardware was Limited. So Valve said "We can't break this Limit. Console won't be happy."
    So, Valve had to Cap the Entity Limits. Which while you may be saying "Well, it's ONE whole Byte of Data. NOTHING." It's not just that one byte in RAM we are using (Which defines how big the array is). We also need to add all the Values that the array will contain. That's where the Real issue pops up.
    All those Values/Objects need to be supported. And handled. Objects moving about. Players feeding Inputs. Clients demanding Data. It all stacks up and creates more demand on the Server.
    Could Valve do the changes necessary to make More Entities work? Yes. Will they? Probably not. Because there's quite a bit of extra work to be done aside from adding to a Variable or two and releasing and update.

  • @AyushYadav-c5v
    @AyushYadav-c5v 6 місяців тому +2

    Will the 64 - bit update help increase the object limit?