fakefishgames / barotrauma Goto Github PK
View Code? Open in Web Editor NEWA 2D online multiplayer game taking place in a submarine travelling through the icy depths of Jupiter's moon Europa.
Home Page: http://www.barotraumagame.com/
A 2D online multiplayer game taking place in a submarine travelling through the icy depths of Jupiter's moon Europa.
Home Page: http://www.barotraumagame.com/
Due to this line of code, changing what the client is allowed to do on serverside beyond kicking and banning is impossible:
#if !DEBUG && CLIENT
if (GameMain.Client != null && !IsCommandPermitted(splitCommand[0].ToLowerInvariant(), GameMain.Client))
{
ThrowError("You're not permitted to use the command \"" + splitCommand[0].ToLowerInvariant() + "\"!");
return;
}
#endif
at least, without having all of your admins use your custom Barotrauma client.
I propose that the permissions system is overhauled to support not only adding "ranks" besides admins, but also customized server-side commands should the server host decide to fiddle with things.
For example, you might want to have moderators that can kick and cannot ban (already possible), while admins could kick, ban, access server logs, revive, heal and force-kill people. And then you'd have Super Admins who would be able to do everything a Host can do, save for some really abusive stuff.
Heck, maybe it could be implemented in vanilla game where you'd define ranks and permissions in a simple .txt file and the game would parse that to decide which ranks exist on the server?
Barotrauma crash report (generated on 03/06/2017 13:39:20)
Barotrauma seems to have crashed. Sorry for the inconvenience!
If you'd like to help fix the bug that caused the crash, please send this file to the developers on the Undertow Games forums.
Game version 0.6.0.0
Graphics mode: 1280x960 (Windowed)
Selected content package: Vanilla 0.3
Level seed: PPQvA0qz
Loaded submarine: Vellamo (BCAB318A6486271B9BC4DD96F57F846D)
Selected screen: Barotrauma.GameScreen
Server (Round hadn't been started)
System info:
Operating system: Microsoft Windows NT 6.1.7601 Service Pack 1 64 bit
Exception: Object reference not set to an instance of an object.
Target site: Void Flip()
Stack trace:
at Barotrauma.HumanoidAnimController.Flip() in E:\Subsurface\Subsurface\Source\Characters\Animation\HumanoidAnimController.cs:line 1114
at Barotrauma.HumanoidAnimController.UpdateAnim(Single deltaTime) in E:\Subsurface\Subsurface\Source\Characters\Animation\HumanoidAnimController.cs:line 186
at Barotrauma.Character.UpdateAnimAll(Single deltaTime) in E:\Subsurface\Subsurface\Source\Characters\Character.cs:line 1269
at Barotrauma.GameScreen.Update(Double deltaTime) in E:\Subsurface\Subsurface\Source\Screens\GameScreen.cs:line 175
at Barotrauma.GameMain.Update(GameTime gameTime) in E:\Subsurface\Subsurface\Source\GameMain.cs:line 355
at Microsoft.Xna.Framework.Game.DoUpdate(GameTime gameTime)
at Microsoft.Xna.Framework.Game.Tick()
at MonoGame.Framework.WinFormsGameWindow.RunLoop()
at MonoGame.Framework.WinFormsGamePlatform.RunLoop()
at Microsoft.Xna.Framework.Game.Run(GameRunBehavior runBehavior)
at Barotrauma.Program.Main() in E:\Subsurface\Subsurface\Source\Program.cs:line 43
Last debug messages:
03/06/2017 13:39:20 - OpenAL error: Invalid Name
03/06/2017 13:39:20 - OpenAL error: Invalid Name
03/06/2017 13:39:20 - OpenAL error: Invalid Name
03/06/2017 13:39:20 - OpenAL error: Invalid Name
03/06/2017 13:39:20 - OpenAL error: Invalid Name
03/06/2017 13:39:20 - OpenAL error: Invalid Name
03/06/2017 13:39:20 - OpenAL error: Invalid Name
03/06/2017 13:39:20 - OpenAL error: Invalid Name
03/06/2017 13:39:20 - OpenAL error: Invalid Name
03/06/2017 13:39:20 - OpenAL error: Invalid Name
03/06/2017 13:39:20 - OpenAL error: Invalid Name
03/06/2017 13:39:20 - OpenAL error: Invalid Name
03/06/2017 13:39:20 - OpenAL error: Invalid Name
03/06/2017 13:39:20 - OpenAL error: Invalid Name
У меня возникли проблемы с неработоспособностью некоторых предметов. К примеру, гарпунная пушка заряжена, но всё равно требует копья. Подводный скутер уже имеет аккумуляторный элемент, но всё равно его требует и т.д. / I'm having problems with the inoperability of certain pieces. For example, the harpoon gun is loaded, but still requires spear. Underwater scooter already has a rechargeable item, but still it requires, etc. Sorry if something is unclear. I'm tired now and decided just to use a translator.
Haven't actually tested this in-game but I still think that line 486 is suppose to be PlayerInput.RightButtonClicked().
When the player highlights a wire in a connection panel, the physical wire and the items connected to it aren't highlighted
Had a hilarious situation where a dude dropped a box of nitro while on top of the stairs and then the whole sub exploded.
An editor that shows a live preview of a particle effect and allows editing the parameters. Having to edit the xmls "blind" and restart the game to see the results is really tedious.
Atm spectators are automatically respawned, there should probably be a way to only spectate
A visual tool for creating and editing creature configs. The game currently includes a very unfinished editor (see the "editcharacter" console command), but it's still far from usable.
Setting GraphicsDeviceManager.HardwareModeSwitch to false solves the problem, but i think that's just because it's borderless fullscreen instead.
Is this a MonoGame bug perhaps?
Edit:
It is:
MonoGame/MonoGame#5885
Possibly fixed by updating monogame
Currently, only way to have a toggle function in wiring mechanisms is to use a door, or tons of elements, and neither solutions are acceptable when working with a small space on sub. What I would like to propose it to add another output for state on toggleable gates like light and relay gates, and perhaps a dedicated gate with only toggle
, reset
and state
inputs and output.
Reported by Pinefall.
Steps to reproduce the glitch:
Basically, have the same "braindead" system SS13 has.
when someone disconnects out of a body, label them as (AFK). Once they reconnect they'll be back in their body like nothing happened.
Sometimes, I get force-reconnected for no reason and then have to sit out the entire rest of the round because of bugs. Desync issues can also be a huge pain in the ass.
Coroutine Barotrauma.GameMain+<Load>d__55 threw an exception: HRESULT: [0x887A0005], Module: [SharpDX.DXGI], ApiCode: [DXGI_ERROR_DEVICE_REMOVED/DeviceRemoved], Message: Unknown at SharpDX.Result.CheckError()
http://undertowgames.com/forum/viewtopic.php?f=21&p=117082
This appears to be an issue predominantly on old NVIDIA and Intel GPUs. It may be a bug introduced by the MonoGame or SharpDX updates introduced in v0.6.1.0.
Since watershader still works on systems affected by this bug, it's possible that the other two shaders use some feature that doesn't work properly on these old systems, though this is unlikely since the shaders have gone unchanged since at least v0.6.0.2.
Switching to the HiDef graphics profile does not seen to make things any better, it breaks compatibility with other systems.
Since I don't happen to have access to any systems that have this issue, making sure a solution works is not possible on my end, so any testing of the current in-dev branch on affected systems is appreciated.
The server calculates the cursor positions of the clients based on the angle they're aiming towards. The angle is calculated from the position of the character towards the cursor, but the characters actually aim from the position of their shoulder towards the cursor.
Matchmaking
= Listing available servers and connecting players to them using Valve's servers. The old master server could still be preserved as a legacy option for a potential non-Steam (GOG?) release and as a way to allow players to host their own "master servers".
Achievements
Self explanatory
VAC?
Investigate whether Valve's Anti-Cheat has any features that could be of use in the game.
The order of the job preferences should be saved, and captain probably shouldn't be the first option by default because it tends to lead to newbies being assigned as captains.
The graphics need to be redone, and the whole UI in general could use some more work:
Let's face it, having to type r; every time and fucking that up in various ways, especially when panicking, is not very fun, really counter-intuitive and extremely frustrating if you're drowning or being choked by a traitor.
If there was a keybind to use the radio chat it would improve the chatting and make it less of a pain in the ass.
It's kind of annoying when you hear item fiddling sounds when on the opposite side of the sub.
They either need to be clientside or quiet enough that you can only hear them when right next to the person (except for denied sound. that sound should totes be clientside-only)
Client's sub and shuttle lists are occasionally empty after joining a server, and the client fails to start a round because the correct submarine can't be selected. No known steps to reproduce, but I'm guessing the clients fail to receive the initial lobby update for some reason. After disconnecting and rejoining everything seems to work fine.
Crash after launching the game.
Barotrauma crash report (generated on 31.05.2017 21:54:33)
Barotrauma seems to have crashed. Sorry for the inconvenience!
If you'd like to help fix the bug that caused the crash, please send this file to the developers on the Undertow Games forums.
Game version 0.6.0.0
Graphics mode: 1920x1080 (Fullscreen)
Selected content package: Vanilla 0.3
Level seed: no level loaded
Loaded submarine: None
Selected screen: None
System info:
Operating system: Microsoft Windows NT 6.1.7601 Service Pack 1 64 bit
Exception: Object reference not set to an instance of an object.
Target site: Void Draw(Microsoft.Xna.Framework.GameTime)
Stack trace:
at Barotrauma.GameMain.Draw(GameTime gameTime) in E:\Subsurface\Subsurface\Source\GameMain.cs:line 390
at Microsoft.Xna.Framework.Game.DoDraw(GameTime gameTime)
at Microsoft.Xna.Framework.Game.Tick()
at MonoGame.Framework.WinFormsGameWindow.RunLoop()
at MonoGame.Framework.WinFormsGamePlatform.RunLoop()
at Microsoft.Xna.Framework.Game.Run(GameRunBehavior runBehavior)
at Barotrauma.Program.Main() in E:\Subsurface\Subsurface\Source\Program.cs:line 43
Last debug messages:
31.05.2017 21:54:33 - Loading was interrupted due to an error
Configuring UI layouts in code is a huge pain in the ass and makes it impossible to do any modifications to the UI without recompiling. It might be a good idea to make the game load the menu layouts and whatnot from XML config files and make a visual editor that could be used to create and modify those XMLs.
The current tutorial is too slow, long and difficult, and should be redesigned completely.
In addition to that, there should be multiple tutorials. One compact "basic tutorial" similar to the current one that teaches the absolute basics, and several additional ones that focus on a specific game mechanic. That way we can have one quickstart tutorial for those who just want to learn the basics and get playing right away, and more in-depth ones that explain some specific aspect of the game in more detail.
A HUD that shows the charge of the connected supercapacitors and how many shells there are left in the loaders. + Some sort of fancy aiming reticle
A way to include AI-controlled characters in the crew and to give them commands
It's kind of annoying to see your player counts plummet because majority won't even know where to find the content pack you're using.
I suggest that the client can choose to download the content pack the same way he can download the custom subs, perhaps letting them see the supplied content pack name and description.
I haven't played for awhile and am just getting back and seeing version 6 released. The game feels to have gotten much more rubber band-y. Almost always dropping items and the server thinking i'm way farther behind than i actually am and getting stuck on invisible things. It is very annoying to have to do things over and over and backtracking 2-3 times just so that the server can finally catch up with me. Making the servers authoritative is what killed Space Engineers multiplayer with the insane server-side lag causing clients to snap back to where the server thinks they are making the game nearly unplayable unless the server was hosted on a Supercomputer with gigabit fiber internet. This same issue is happening with this cool game, i don't want to see this game ruined by bad netcode. I suggest doing a p2p sort of system like the old actually playable Space Engineers netcode did.
This is NOT client side FPS lag, i have a GTX 1080 and get way more than 60fps stable.
This is an issue not only if you try to solo-kill the monster, but also a pretty major one if you're on the right side of the Search and Destroy PVP mission.
All monsters are invincible if they are too far from the main/left sub while being able to damage the hull of the ship, though I'm not sure if they can damage the players as well.
If only to just let nitroglycerin become a makeshift contact grenade for the traitor!
Respawning characters get the ID tags they would have gotten if they had spawned in the main sub. This is not an issue in the vanilla shuttles, but custom shuttles may require some additional ID tags.
None of the monsters in multiplayer make any noise whatsoever (release version)
They have sounds in SP though
A way to automatically wait for a slot to free up when joining a server instead of having to spam refresh and join.
Hi. I am from Ukraine and i obviously like Barotrauma. I would like to translate it to Russian, but I keep getting errors, what should I do?
Why use UDP, when you have a master server who can setup TCP connections with players ?
= a multiplayer version of the single player campaign.
Reactor seems to be working, even with emptied uranium tubes
Use \" instead
FileReceiver.cs is the only file where I can find instances of this anymore
Instead of hardcoding the criteria for each mission, we should be able to assign certain starting conditions and goals that each mission type should have.
For example, the salvage mission requires an artifact to be onboard the main sub and the main sub to be at the end waypoint. So, it would be possible to represent that criteria like so:
<MissionType name="Salvage">
<StartingConditions>
<Spawn itemType="Artifact" location="Ruins" name="objectiveItem" />
</StartingConditions>
<VictoryConditions>
<IsOnboard target="objectiveItem" />
<AtEndWaypoint />
</VictoryConditions>
<FailureConditions>
<CrewIsDead />
</FailureConditions>
</MissionType>
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.