Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Clarification about HaxBall reverse engineering, alternative clients and copyright. #1805

Open
basro opened this issue Apr 18, 2023 · 45 comments
Labels

Comments

@basro
Copy link
Collaborator

basro commented Apr 18, 2023

HaxBall is a closed source project. Reverse engineering and distributing modified versions of HaxBall is not allowed. Doing so is not only illegal under copyright law but also, in my opinion, unethical.

I've always assumed whoever did this kind of thing is acting in bad faith. I do not have a way to stop this in the same way game companies can't stop piracy. I've decided to make it explicit and clear that this is not allowed for those who might not be acting in bad faith and are just ignorant of how copyright works.

I'm aware of two projects that are particularly problematic in this regard: node-haxball and HaxApp. There may be others I'm not aware of. If you are a developer of such a project I ask you to stop development and take down the sites/repos. If you are a user of such a project I ask you to stop using it.

@basro basro pinned this issue Apr 18, 2023
@basro basro added the Notice label Apr 18, 2023
@becken7
Copy link

becken7 commented Apr 18, 2023

Hello brother.
I agree with what you said and you are right; In my opinion, the creators of these "HaxApp" did not do it with any kind of bad intention, but to provide something more practical, more fun and even much better for the gameplay of HaxBall.
For example, in my case and in the case of many others, the HaxApp works better for us than the browser itself.

It would be nice perhaps if the Official HaxBall himself is the one who can provide us with this type of "HaxApp".
It's clearly not easy and it would take time but it would be a great idea; as well as many more that the HaxBall Community of the world wants.

Greetings from Argentina, Becken.

@julianjajaja
Copy link

hello! I wanted to ask you, if you are going to see a Haxball update soon, or will you see it impossible?

@guguxh
Copy link

guguxh commented Apr 18, 2023

No one of this projects is for bad things, you just see your vision. Both projects are open-source and seek a same objective, turn the game more playable. You just doesn't hear anything the userbase talk, for years, and when projects like this r made (making the api more enjoyable for developers; creating a app to play haxball without Chrome eating all your ram and optimizing), you just say to they stop?

@gabrielbrunop
Copy link

I've developed a few tools for Haxball in the past 3 years (namely haxball-server). I did not reverse engineer Haxball as I didn't want to have the burden to update it every new Haxball update (although the game hasn't had meaningful updates for years). But I find your comment on projects like node-haxball extremely concerning.

It's okay if you don't update the game that often, since it's your game and you make your choices. But restricting people from making modifications is egoistical. What would be of games like Minecraft if they didn't embrace user modification? All those custom Minecraft servers are reverse engineering projects and they were essential for Minecraft's massive growth.

Please change your mind about this. There are a lot of things people would want to have in the game but it's been years since the last major update. Community projects like node-haxball are amazing and can actually help the game grow and improve.

@mertushka
Copy link

Hi basro, I am aware and respect that Haxball is a closed source project and therefore copyrighted. I support your stance against alternative, modded, hacked clients. But I would like to get your opinion on a subject that may also interest me. https://github.com/mertushka/haxball.js project belongs to me and I would like to tell you how and why we need such a project. I only modified Haxball's headless.min.js file to support NodeJS modules without illegally modifying it changing any base code, so that people can create Haxball Rooms in the NodeJS environment in the best possible way. (Access to file system, database etc.). And maybe 30% of Haxball rooms use this project and develop their room by sticking to it, for example @jakjus's Haxball Rooms. He has made rooms for Haxball for a long time and a lot of people play in their rooms. He also helped develop haxball.js for community. I assure you there is nothing inappropriate out there. The codes are obviously on the github page. I'm curious about your thoughts.

Regards, mertushka.

@basro
Copy link
Collaborator Author

basro commented Apr 18, 2023

@becken7

HaxApp works better for us than the browser itself.

It's made with electron (or another similar technology) meaning it's got a version of chrome behind it.

@gabrielbrop

It's okay if you don't update the game that often, since it's your game and you make your choices. But restricting people from making modifications is egoistical. What would be of games like Minecraft if they didn't embrace user modification? All those custom Minecraft servers are reverse engineering projects and they were essential for Minecraft's massive growth.

HaxBall is already extremely moddable, rather than restricting people I've worked a lot in order to make modding possible. With your perspective nothing short of me relinquishing ownership of HaxBall and making the project open source is me being egoistical.

@mertushka your project seems fine and I would not ask you to take it down (so long as it remains in a similar state to what I'm seeing in the repo). It's fine if people use it to host haxball rooms.
In the future I'd like to make the official HaxBall headless api be a node library as well instead of what it is today. The reason why it was not originally like that is because at the time I created it I did not think it would be possible to get all the required browser features working in node. Perhaps when that happens we can collaborate on it ensuring that if I make a release haxball.js gets updated as well.

@becken7
Copy link

becken7 commented Apr 18, 2023

Mr. Mario, I sent you an email to HaxBall email. Sorry for the inconvenience.
gabibicho_lp@hotmail.com

@mertushka
Copy link

Perhaps when that happens we can collaborate on it ensuring that if I make a release haxball.js gets updated as well.

@basro That would be perfect, thank you. I'm open to collaborate.

@AnddyAnddy
Copy link

All the people doing that are doing it because haxball is a waste. There are a ton of seemingly easy features to implement suggested and even tagged here but the last update is ages ago.
As a developer myself I know your feelings, your thing is "done and works" and you are lazy to think about it anymore.
Having new features would probably not bring thousands of new players, maybe not even one, who knows. But a LOT of room hosters are already in the path of using a modified version to add basic features.

Yes Haxball is not Open Source and reversing it is not legal BUT having more people to help you developing (not even money speaking) could grantly improve the quality of the game.

I think it's the first time since the html era that you are interested in teaming with someone (haxball.js) and it's the first step. Haxball is a 13 years old game and people are still highly motivated into it.

@kingjasko
Copy link

basro, you should look at it from a different perspective... You yourself admitted to giving up on this project, yet there are still thousands of players coming to the game daily, why don't you try to understand that and see that there's still interest in the game?

What I'm trying to say is, people still enjoy this game, but seeing how you've given up, they're trying to make improvements themselves, I don't see anything malicious in that.

What would help is if you'd think about the potential of this game and what it could give you in return, as well. You could hire some people to help you work on the game or even get in contact and employ some of these developers that have already done a lot for the game. You don't always have to be so close minded.

It's still not too late for you to turn a new page in this book, haxball could still evolve and I don't think anyone here realizes what could happen if you start working on the game with the help of this community.

Please, please, please consider it.

@basro
Copy link
Collaborator Author

basro commented Apr 19, 2023

@Anooxy

Make some updates.. Make the game for us.

I already made the game for you. I put several years of work into this game for which you've never paid a dime. Ungrateful people are not satisfied unless I'm working on it full time for the rest of my life.

I don't want to use a lot of shits that are developed, but its not possible to not using functions like antiVPN, because there are much idiots that want to destroy rooms or troll games.

If someone modifies haxball headless code just for the purpose of fixing a bug or hardening their security (like preventing VPN) it's a different matter. Yes, it's still a copyright violation and it is problematic because when I decide to update haxball your modification will be left behind. Those kinds of modifications I'm willing to tolerate (as observed with haxball.js).

@kingjasko

You yourself admitted to giving up on this project

Please fact check the bullshit you are spewing.

@ghost
Copy link

ghost commented Apr 19, 2023

Hey,

Taking the opportunity that you showed up, I'll try to reach out to you asking for tiny changes that you could implement, as they have been very disruptive to the HaxBall community lately.

The first thing is gaxball i.e. interference in the game code, which makes the gameplay very difficult and people using this contraption destroy the competition, and the man who implemented it additionally tries to make money on it...

It would be worth taking a look at it and trying to block it somehow. I would really like to ask you for it, because this is one of the biggest problems among players right now. In addition, any edits in the code that allow you to increase the extrapolation over 200 also make the fun warped.

I also want to mention the existence of maps that can shut down the host, which has happened more than once that some troll came in and turned off my room by launching this map.

I hope that in the near future you will implement a security update that will make it more difficult for trolls and cheaters to modify the game's code, like here, cause it extremely spoils the game and gives them more and more room for improvement show off.

Furthermore, I don't have great requirements, but I would like us all as players to have the same chances, play under similar conditions, and the last few years have been a constant competition with cheaters who in such a simple game are only looking for a way to have an advantage over others.

Regards ✌️

@basro
Copy link
Collaborator Author

basro commented Apr 24, 2023

@haxisfine if you have a sample of a map that can take down the room it would be useful to me.

@punisherhaxball
Copy link

punisherhaxball commented Apr 24, 2023

Are you planning to update game in the way we interact? Such as better prediction, better netcode etc. visual updates are cool but not so needed when you think about Haxball's current state nowadays.

Please try to make game better, for example extrapolation is a big problem for years and you didn't do anything about it except limiting it to 50 and reverting the decision after couple days. But for real why you are not working on it? Yes I know the game is extremely moddable but who cares it is moddable? No one asks you to limit it right now, just try to make it work better for everyone. Rewrite the game's rendering for example, try to have extrapolation work in better way. Try to make better prediction so even while using 0 extrapolation we don't see weird fake kick bugs.

Me and my friends we are playing the game at around 60-70 ping and even if we put 0 extrapolation we still see the game so warpy and not only that we also see fake kicks done by other players too. We just want to have this fixed. For example open Valorant and play at 70 ping. The game looks same as 10 ping, the ping doesn't change the game visuals, but for Haxball it isn't. I hope this example lights something on your mind.

@GLWP
Copy link

GLWP commented Apr 24, 2023

who haven't been around for 3 years, suddenly appear and ask you to stop developing the game.
then there is only one way. delete haxball
u said no paid? what is that ad that's always on the right whenever I enter haxball?

@punisherhaxball
Copy link

who haven't been around for 3 years, suddenly appear and ask you to stop developing the game. then there is only one way. delete haxball u said no paid? what is that ad that's always on the right whenever I enter haxball?

I'm mad at him for not caring about the game for years, and I agree with you, but you're being unfair to him about it. I think the advertisement there only pays for the coffee. It's also an obvious fact that a lot of people use ad blockers. It's unfair to blame him for this. Making a game and keeping it open for 10 years is not a job for everyone. He could have just thrown everything away when the Flash was over.

@Wenamka
Copy link

Wenamka commented Apr 24, 2023

I guess better way to make client for Steam. Its a huge step for monetization of this project. 2-3 dollars for game will be enough, possibility to change avatars and etc for money. Youll get enough donations and users couldnt create apps for this game, no games with extrapolations (as you said before what if you will delete extrapolation - anyone could find a feature to play with it anyway) and more things.

Should to get over long story with browser, and game will be promote itself in steam with popular games like FIFA or PES (sports simulator segments). I have to say we had situaton when our community close to die and if not popular TikTok clips - it will be like 10 players in our region instead 300-400. Game isnt popular right now, we havent new players, its only for old guys whos playing 12 years in a row, we are waiting for new blood, new changes.

@GLWP
Copy link

GLWP commented Apr 24, 2023

who haven't been around for 3 years, suddenly appear and ask you to stop developing the game. then there is only one way. delete haxball u said no paid? what is that ad that's always on the right whenever I enter haxball?

I'm mad at him for not caring about the game for years, and I agree with you, but you're being unfair to him about it. I think the advertisement there only pays for the coffee. It's also an obvious fact that a lot of people use ad blockers. It's unfair to blame him for this. Making a game and keeping it open for 10 years is not a job for everyone. He could have just thrown everything away when the Flash was over.

sry for the bad words. I hope Basro makes money with haxball.
10 years ago there were over 10k players and 2-3k are still playing this game. Basro deserves money with this game

@kingjasko
Copy link

@Anooxy

Make some updates.. Make the game for us.

I already made the game for you. I put several years of work into this game for which you've never paid a dime. Ungrateful people are not satisfied unless I'm working on it full time for the rest of my life.

I don't want to use a lot of shits that are developed, but its not possible to not using functions like antiVPN, because there are much idiots that want to destroy rooms or troll games.

If someone modifies haxball headless code just for the purpose of fixing a bug or hardening their security (like preventing VPN) it's a different matter. Yes, it's still a copyright violation and it is problematic because when I decide to update haxball your modification will be left behind. Those kinds of modifications I'm willing to tolerate (as observed with haxball.js).

@kingjasko

You yourself admitted to giving up on this project

Please fact check the bullshit you are spewing.

My bad, you changed your mind, which I applaud, you have to understand that I don't mean anything bad, I'm just trying to be real and talk in the name of people that might not fully understand the issues the game is facing and the fixes that are possible to take it to the next level, I'm also speaking in the name of people who quit the game due to all the issues they were facing, none of these things changed.

I feel like it's a good moment to remind everyone of the petition I've made nearly 2 years ago - https://www.change.org/p/basro-create-a-standalone-app-for-haxball , I addressed the biggest problems of the game and the solutions. Currently (and this is the situation since a year or two into HTML5) I cannot recommend this game to someone new, the game is simply not in a state where I can recommend it to anyone, all of us that are still here are only playing due to nostalgia, and well, competition, I still think no other game offers the same competitiveness as haxball does, it's simply the closest any game has come to copying real life sports.

In my opinion, next steps for this game in an ideal world would be a standalone app, inclusion to a platform like steam (we've seen it done with so many games, but ball3d is probably the one that stands out the most considering how similar it is to haxball), introducing some sort of registration system, leaderboards, events, once the game reaches an acceptable state, the retired players will start coming back, new players will start coming in and that's when we can start thinking about monetization, be it skins, celebrations, stadiums, team names, team logos, whatever. That money could bring new life into the game and everyone would be happy. The only problem is, it takes a lot of work, motivation, commitment and ambitions, I still have my doubts about you basro, but I know you have it in you, the community is here for you and I hope I am wrong and you will prove everyone else wrong as well.

@mertushka
Copy link

@haxisfine if you have a sample of a map that can take down the room it would be useful to me.

@basro I have that map but i don't want to post here to avoid abuse until it's fixed. Where should I contact you?

Also to have an idea about the update:

My opinion is that Haxball should be available for all possible platforms. In that way, I think the most optimal option for Haxball is WebGL technology. For multi-platform (Unity WebGL), also source code protection, WebGL will be a good option. You should consider it basro.

@basro
Copy link
Collaborator Author

basro commented Apr 24, 2023

@guguxh
Copy link

guguxh commented Apr 24, 2023

@mertushka haxball@gmail.com

The problem as already solved and clarified by TheNorthStar in #1473

@basro
Copy link
Collaborator Author

basro commented Apr 24, 2023

@guguxh thanks

@AnddyAnddy
Copy link

One thing that could easily help you with having decent relationship with your community basro: communicating about what you're currently doing
We don't know if you are planning to leave game for 3 years unless a deprecated bug awakens you or you are thinking about developing new features.

Not especially having a schedule, a to do list, deadlines or anything, we just want to have some hopes
Originally, the tag Feature request on github was a good indication but it's not meaningful anymore.

Feel free to share some ideas so you could have fast feedback, feel free to implement easy quick features in test/beta phase that you can remove if it doesn't please to the community.

There are hundreds of new possible features to look at, you can't do all of them and we would understand if you did not even try to do a few of them but please communicate more, exactly like you did in this thread as we can give you feedback with the current main issues

@mancity7937
Copy link

mancity7937 commented Apr 24, 2023

@basro
The following error occurs when writing the Room.setcustomstadium method after this update Please check.
ReferenceError: JSON5 is not defined
at Object.setCustomStadium
TypeError: Cannot set properties of null (setting 'innerHTML')

@basro
Copy link
Collaborator Author

basro commented Apr 24, 2023

@mancity7937, that seems like a bug, it would be great if you open a new issue for it.

@ghost
Copy link

ghost commented Apr 24, 2023

@basro

Unfortunately, I don't have this map, but I see that someone has already shared it with you.

As for the update itself, in terms of visuals, it doesn't change much, let's agree. Some will like it, others will not, such changes are always risky when people are used to one scheme for so long.

Haxball is an iconic game for me, but a very underrated, and it certainly also suffers from the fact that it is not properly supported. I think that if you put a little more commitment into it, it could definitely increase its reach among the audience, because the gameplay is simple and transparent, and games of this type are immortal.

Suffice it to mention titles such as chess or Tetris, these games have been played by millions of people for generations, and I think that Haxball could be similar, although probably not on such a scale, but strength in simplicity.

@alensa1337
Copy link

HaxBall is a closed source project. Reverse engineering and distributing modified versions of HaxBall is not allowed. Doing so is not only illegal under copyright law but also, in my opinion, unethical.

I've always assumed whoever did this kind of thing is acting in bad faith. I do not have a way to stop this in the same way game companies can't stop piracy. I've decided to make it explicit and clear that this is not allowed for those who might not be acting in bad faith and are just ignorant of how copyright works.

I'm aware of two projects that are particularly problematic in this regard: node-haxball and HaxApp. There may be others I'm not aware of. If you are a developer of such a project I ask you to stop development and take down the sites/repos. If you are a user of such a project I ask you to stop using it.

The new incoming update unfortunately does not allow the add-on to work properly. Since you have brought an update, please also add the "Toggle Chat" feature, as I do not want to see the chat while playing the game. Not only me, but many players are also waiting. Some of us are playing the game using a 1024x768 resolution to achieve better game fluidity. The chat appears in the middle of the game screen. An update should be urgently introduced, with a shortcut to close the chat and fix the textbox error hopefully coming soon. for you to add this feature.

@kevinmarquezz
Copy link

@basro

It is understandable that it bothers you that people create these applications outside of haxball and you, but as many told you, I think that thanks to these applications many people continue to play haxball, since they add more functions and gameplay (FPS and MS) than in the Navigator.

I think one feature that these apps use is "toggle chat", and I think it's a pretty good feature for gameplay as the chat and menu can get a bit annoying in corners or at any point in the game, and with that function might fix that problem.

Also haxball is a great game and it stayed alive for a long time even though it hasn't had many updates for a long time, and that's quite gratifying towards you and your game.

Greetings from Argentina!

@lvk1nhas
Copy link

What about BN-Haxball? Can we use it? BN-haxball is a free app where the game runs smoother than ever. I'm sorry, Basro, but it seems like you haven't updated your game in ages. Brenin made some recent updates that have greatly improved the gameplay. Brenin Pereira owns you now.

@AnddyAnddy
Copy link

I just read some old feature requests opened and I think there could be some that would not need a lot of effort to implement and would be useful enough for everyone, mainly regarding QoL, some about some stuff we can do with headless but that we could do without:

#9
#71
#316 altough the last update helped
#705 needs some work i guess but it would be REALLY useful and could also help fighting anormal inputs if precise enough, currently we have to reverse engineer the game to do that
#932
#880

And there are a lot not written as feature requests we would really look forward, such as #1784

I'd add some quick ones:

  • Allow a time limit and score limit to be anything (< 100 mins / 1000 goals) by making it text editable
  • Increase the room size limit (30 ?)
  • Make the random button work with 1 player putting that player in any team
  • Manually set a fps limit in the settings menu

@alensa1337
Copy link

Hello again,

The extension is working, but it is very problematic. You cannot see the menu while playing the game. Toggle Chat does not work when you press the ESC key. You need to restart the game or refresh the page for it to work again. I cannot play the game with these problems. I want Basro to fix it. I don't want to rely on using the extension. Toggle Chat feature should be implemented. It is very frustrating like this. @basro

Kind regards..

@markandre1
Copy link

you should look at #1559 @basro

@HaxMirage
Copy link

Hey Basro, I am one of the contributors to the haxball all in one tool/ add on that is in the chrome store. I wanted to confirm if this announcement includes the add on. My assumption is no since the add-on makes client sided mods without modifying the raw obfuscated source and it is in good faith. Also it seems that some of the features of the add on is getting added to the game which is great to see. Thinking of continuing development on the tool but wanted to make sure you approved of that

@basro
Copy link
Collaborator Author

basro commented Apr 28, 2023

@HaxMirage you are correct, this announcement doesn't include your add-on which is not only legal (I think?) but also fine with me.

I didn't know of your add on before I broke it with the latest updates and everyone started complaining about it. I felt the need to fix it by adding the feature to HaxBall instead (the toggle chat feature). It is likely that I'll add a few other things that are inspired by this add on later on.

@xenonsb
Copy link

xenonsb commented Apr 29, 2023

@HaxMirage you are correct, this announcement doesn't include your add-on which is not only legal (I think?) but also fine with me.

I didn't know of your add on before I broke it with the latest updates and everyone started complaining about it. I felt the need to fix it by adding the feature to HaxBall instead (the toggle chat feature). It is likely that I'll add a few other things that are inspired by this add on later on.

Really happy to hear that - we slowly raked in about 6,000 or so active users installed over the course of 3 years.

In the mean time we will be trying to restore the functionality/usability (I say we but mostly Mirage) - but looking forward to seeing some of our features being stock in Haxball :)

@Wazarr94
Copy link

What do you think of reverse-engineering for bot/AI purposes?
I made Python packages to train an AI on HaxBall but that required me to reverse-engineer a lot of code, but there are still a lot of functionalities I didn't implement (multiplayer notably). It's available here: HaxballGym (the reverse engineering is done in the Ursinaxball package).

From what I am gathering from the first post, this shouldn't be an issue since I am not distributing it as a software and it cannot compete with your website.

@LuciferGRE
Copy link

LuciferGRE commented Sep 24, 2023

@basro check post #2056 me and MANY people are waiting for your answer there! stop this ghosting!

@uzayyli
Copy link

uzayyli commented Sep 24, 2023

Just a friendly reminder that basro is not your pesronal assistant or something..

The guy is being so nice for providing us with one of the best games ever made, for free.

While I agree that the game needs more features implemented, threats and accusations are not the way to achieve this. Just put yourself in his shoes. How is threats, accusations and spamming his github with hacks any different than a DoS attack?

On a related side note: I did support one guy before, assuming he wanted to improve the game. But turns out he just wanted to grief this community so I stopped helping that project.

I know this game has many devoted players and developers with good intentions, and I hope basro one day supplies us with better modding tools, and that's the best I -and you- can do.

@markandre1
Copy link

updaatee the game baaassroooooooo

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests