Jump to content

Didz

Members
  • Posts

    259
  • Joined

  • Last visited

Posts posted by Didz

  1. It means that somewhere along the way to the master server, your requests are being rejected by a firewall. This could be a firewall that's on your computer, the firewall in your modem/router, or a firewall by your Internet Service Provider. You just need to figure out where your requests are being blocked and fix that. You may need to contact your ISP to see if they're blocking the traffic.

     

    The relevant traffic for Jedi Academy is UDP port 29070-29079 and UDP port 29060. Some JKA servers use different ports.

  2. This has come up before:

    You can try adding the -lomem flag to your light compile's command line, but this wasn't a solution for either of the threads mentioned. Here's how you can set-up a 64-bit Q3Map2 though: http://jkhub.org/topic/4088-gtkradiant-and-q3map2-64bit/?do=findComment&comment=59997

     

    Technical side note: I'm not sure what the significance of the 276824064 (264MiB) number is. No idea why the compiler would be trying to allocate 264MiB at once; this seems like a memory calculation bug rather than an intentional allocation.

    Merek and Xycaleth like this
  3. Lua scripting support was one of the core things planned for Makermod 2.0, but it's really unlikely there will be another release of Makermod...
     
    The beginnings of a rough Lua implementation was started in the current client plugin for Makermod, but it only has an API for getting and setting cvars currently. (Try doing /lua_do "cvars.name = 'Blahblah'" and /lua_do "print(cvars.name.string)")

     

    The plan was to have players be able to write building scripts as Lua files on their computers, and then have these scripts uploaded using a command and executed inside a server-side Lua sandbox (with limits on resource usage).
     
    Here's some of the API I came up with 3 years ago: (it matches the current set of commands closely)

     

    --[ mm :: Makermod Interface ]--
    
    mmObject mm.place(string name, vec3 origin, vec3 angles)
    -- name is required
    -- if origin is nil, marked position will be used
    -- if angles is nil, [0,0,0] default angles will be used
    
    mmObject mm.placeFX(string name, vec3 origin, vec3 angles, int delay, int random_variance)
    -- name is required
    -- if origin is nil, marked position will be used
    -- if angles is nil, [-90,0,0] default 'up' angle will be used
    -- if delay is nil, default jka delay 200 will be used
    -- if random_variance is nil, default 0 will be used
    
    mmObject mm.placeSpecialObject(string name, vec3 origin, vec3 angles)
    -- name is required
    -- if origin is nil, marked position will be used
    -- if angles is nil, [0,0,0] default angles will be used
    
    
    
    --[ mmObject :: Makermod Objects Interface ]--
    -- These methods can only be used by the owner unless noted otherwise by 'unprotected'
    
    -- Get the Player for the owner of the object (or nil if owned by world)
    Player mmObject:getOwner() -- unprotected
    
    -- Set the owner of the object to the player (or nil to set to the world)
    mmObject:setOwner(Player player)
    -- if player is nil, the owner is set to the world
    
    -- Get the entity number for the object
    int mmObject:getNumber() -- unprotected
    
    -- Get the group name of the object
    string mmObject:getName()
    
    -- Set the group name for the object
    mmObject:setName(string name)
    -- if name is nil, set empty string
    
    -- Get the model or effect name for the object
    string mmObject:getModel() -- unprotected
    
    -- Get the fixed origin for the object
    vec3 mmObject:getOrigin() -- unprotected
    
    -- Set the fixed origin for the object
    mmObject:setOrigin(vec3 origin)
    -- origin is required
    
    -- get the fixed angles for the object
    vec3 mmObject:getAngles() -- unprotected
    
    -- set the fixed angles for the object
    mmObject:setAngles(vec3 angles)
    -- angles is required
    
    -- get the fixed scale for the object
    vec mmObject:getScale() -- unprotected
    
    -- set the fixed scale for the object
    mmObject:setScale(vec scale)
    -- scale is required
    
    -- get the interaction password for the object
    string mmObject:getPassword()
    
    -- set the interaction password for the object
    mmObject:setPassword(string password)
    -- if password is nil, set empty string
    
    -- Move the object by x,y,z units for duration
    mmObject:move(vec x, vec y, vec z, int duration)
    -- x is required, y is required, z is required
    -- if duration is nil, assume 10 seconds
    -- duration is in milliseconds
    
    -- Move the object x,y,z units PER SECOND for duration
    mmObject:moveClassic(vec x, vec y, vec z, int duration)
    -- x is required, y is required, z is required
    -- if duration is nil, assume 10 seconds
    -- duration is in milliseconds
    
    -- Rotate the object by pitch,yaw,roll for duration
    mmObject:rotate(vec pitch, vec yaw, vec roll, int duration)
    -- pitch is required, yaw is required, roll is required
    -- if duration is nil, assume 3 seconds
    -- duration is in milliseconds
    
    mmObject:startRotating() -- unfinished
    
    mmObject:stopRotating() -- unfinished
    

     

     

     

    If people are still playing Makermod, it could be a good thing to look into. cc @Scooper, @spior, @Onysfx

    Keyten likes this
  4. You need a DNS provider that has support for updating records remotely. I use CloudFlare as my DNS provider for most things, and they support Dynamic DNS: https://support.cloudflare.com/hc/en-us/articles/200168816-Does-CloudFlare-work-with-Dynamic-DNS-Can-I-update-my-DNS-records-remotely-

    Their free plan does all you need!

     

    If you're on Linux, you can simply use the ddclient tool they offer to update your records. But if you're on Windows, you'll need to explore other options.

    Here's an article regarding other methods: https://techjourney.net/update-cloudflare-as-dynamic-dns-ddns/ (Skip down to Method 5 for Windows)

     

    I don't think you'll be able to add your server as a favourite in JKA though. If I recall correctly, JKA only supports saving IP addresses as favourites, not hostnames.

    Smoo likes this
  5. As long as your players' computers have the capability to decrypt the content in order to present them in-game, their computers will also be able to just decrypt the content to extract it onto their hard drives too.

     

    No technical measure will prevent this. Your options are 1) get a lawyer, 2) don't release your content, 3) ignore it. Reverse Engineering is also a right protected in the U.S. (DMCA) and the EU (Directive 2009/24/EC).

     

    I played JKA for the modding aspect, and entity modding was one of the most enjoyable ways of thinking out-of-the-box while creating fun experiences for players. I don't see how experimenting with entities in maps could be in any way disrespectful to the original creator, unless they're also redistributing repackaged PK3s.

    Raz0r and Smoo like this
  6. The SDL migration brought in a lot of regressions like this (minor enough to go ahead with the change though).

     

    If either of you have some spare time, could you create an issue for it on the GitHub site? I don't have a non-English keyboard so I can't test the broken functionality here, but we need some concrete stuff to work off, such as the config files containing the key bindings and the affected keyboard layouts, etc.

     

    If there's any difference in how basejka and OpenJK generate the bindings to the saved config file, these would need to be noted too.

  7. For the record; from Windows Vista onwards, you can create a dump file for any process from the Task Manager. Right click on a process in the list and click Create Dump File. It'll take a while to generate, but after it's done it'll show you where it's saved.

     

    Dump files can be used to debug the state of the process in Visual Studio as it was when it was running. They're much more useful if you have the .pdb files for the game EXEs and DLLs there too.

  8. Open the Help menu from the main menu, click Troubleshooting Information, click "Refresh Firefox..." and confirm you want to reset the browser.

     

    This will remove all add-ons and customisations, and reset the browser to its initial state. It'll keep your history and cookies intact though, so you won't need to log in everywhere again. All the old Firefox data will be put in a folder on your desktop as a backup.

     

    Best to add your add-ons one-by-one afterwards, cause it's probably one of them that's causing the problem.

     

    If this is still happening after resetting Firefox, you might have deeper malware that's hijacking your network traffic.

    Cerez likes this
  9. Creating a specular map is as involved as creating a regular (diffuse) texture. You typically start off with the diffuse for reference, brush out the shiny bits lighter, brush out the duller bits darker, add some noise, do some blur, a little of this, a little of that... There's no one formula for getting a specular map done, it depends completely on the material you're trying to create.

     

    Experiment and tweak.

  10. My $0.02:

     

    I think this project sounds crazily large and will take over a year to get to anywhere worthwhile. I'm used to taking on too many projects and having none of them get finished/released. (Makermod 2.0 anyone?)

     

    You won't be expanding your skillset by doing this, because it's just same old JKA/Q3 code modding. All JKA coders can do this project, it'd just take a ton of time and effort.

     

    In my opinion, I think you should carry on working on Rapture, but treating it as a hobby project. Don't expect to make money from Rapture, just expect to learn and make something fun. There's also some past research that talks about how releasing teasers/previews of your work while you're doing it will have a negative effect on your motivation. That's because you'll be getting positive feedback from other people (instant gratification) which means you're becoming less wanting to achieve the end goal of finishing the project. I'd link the article if I could find it again. I know that definitely happened with me when showing prototypes of portalmod while I was doing it, then I lost the motivation to actually get the implementation done properly.

    eezstreet likes this
  11. These are all the textures used by the r_we command:

    • fog / heavyrainfog / light_fog / sand = gfx/effects/alpha_smoke2b.tga
    • rain / acidrain / lightrain / heavyrain = gfx/world/rain.jpg
    • snow = gfx/effects/snowflake1.bmp
    • spacedust = gfx/effects/snowpuff1.tga

     

    There are no textures, Neo. Fog is added by adding some extra 'foginess' on top of everything that is drawn. The further away something is, the more misty it looks.

     

    You're thinking of worldspawn fog there.

    Daedra likes this
  12. On the topic of uninstalling completely:

    • Mods and other custom user content shouldn't be removed from any directory (i.e. don't remove anything not installed by the installer)
    • Contents inside My Games\OpenJK (i.e. files that are written during gameplay) should only be removed given a checkbox, or not at all.

      The directory will include standard cruft such as servercache.dat and security.log, but it must be the user's decision to remove this stuff.

    • Every user will have their own My Games folder, so the installer would have to take this into account by trying to enumerate all the users on the computer.

      Everyone's free to use their own home path though, and even have multiple home paths, so I'd just not even remove any of them. (And maybe say a message about the user data not being removed after uninstallation)

    Futuza likes this
  13. They're good friends, I think it's simply just..

     

    banter

    /ˈbantə/

     

    noun

    • the playful and friendly exchange of teasing remarks.

      "there was much good-natured banter"

      synonyms: repartee, raillery, ripostes, sallies, swordplay, quips, wisecracks, crosstalk, wordplay, ...

    verb
    • exchange remarks in a good-humoured teasing way.

      "the men bantered with the waitresses"

      synonyms: joke, jest, pun, sally, quip, ...

    eezstreet and Cerez like this
  14. Here's an online demo of the different blending options you have: http://www.andersriggelsen.dk/glblendfunc.php

     

    The "Blend equation" option should be kept at GL_FUNC_ADD (Addition), since that's the only blending mode available in Quake 3 (as far as I know; maybe @@Xycaleth knows better).

    The "Premultiply" checkbox on the page is an advanced topic that concerns texture filtering, it's best to leave that Off as it would involve extra steps when exporting assets for the game.

    Boothand likes this
  15. I've been trying to write this post for soon one and a half hour, and I'm nearly psyched out. I'm trying to think of the logical way to have one texture scroll and then be hidden/filtered by the same texture's alpha channel.

    My crumbling logic:

     

    Stage 1 must draw nothing but the alpha channel, because if you draw the full color there will be no blendFunc in the second stage, in the destination part, to subtract again. So you will just end up with more and more.

    But the most logical thing for me would be to somehow draw the full color and do scroll and stuff on that - and then in the second stage take the texture's alpha channel and subtract everything else. But I feel like you can't do that.

     

    Stage 1:

    map etc/textureWithAlphaChannel

     

    Draw the alpha channel of the texture (GL_SRC_ALPHA) and add nothing more (GL_ZERO).

    (1 * x) + (1 * 0)  = x. (Second stage's destination value).

     

    So we have the alpha channel, but haven't drawn the full color anywhere.

     

    Stage 2:

    map etc/textureWithAlphaChannel

     

    Draw the full color (GL_ONE) but also add.. add? I want less, not more. zxfdkjfk, I can't.. do it.

    Draw nothing again (GL_ZERO) but add stage 1 (GL_ONE) = no change. I need an example, and another explanation :(

     

    The flaw in understanding here is that GL_SRC_ALPHA means drawing alpha only, that's not what happens.

     

    In your stage 1 example, you can use the fomula Xycaleth talked about to understand how blending would work there.

    FinalColour.RGB = SourceColour.RGB * SourceColour.A + DestinationColour.RGB * 0
    ... which simplifies into ...
    FinalColour.RGB = SourceColour.RGB * SourceColour.A
    

    Things to note here:

    • GL_SRC_ALPHA as the source blend func means the source RGB colours (texture RGB) are multiplied by the source Alpha channel (texture Alpha).
    • SourceColour.A is a single number between 0.0 and 1.0, corresponding to the alpha channel of that particular point in the texture.
    • Multiplying by anything that's less than 1.0 means that the RGB colours will be darkened, because the resulting values will be less than the original.
    • Where the alpha is 0.0 in your texture, the final colour will be black. Where the alpha is 1.0 in your texture, the final colour will be the original RGB colours.

    Your stage 1 will basically result in a fully opaque surface whose colours will blend between black and their original colours depending on the alpha channel at the particular point on the texture.

     

    Your stage 2 would be this:

    FinalColour.RGB = SourceColour.RGB * 1 + DestinationColour.RGB * 0
    ... which simplifies into ...
    FinalColour.RGB = SourceColour.RGB
    

    So here, you're completely ignoring the result of the first stage (because you're multiplying destination colour by 0), and instead you're simply using the full RGB colour of the original texture (And it'll still be fully opaque over whatever's behind the surface).

    So your shader essentially just does the default blending because the second stage is GL_ONE GL_ZERO.

     

    I don't understand what technique you're trying to aim at in your post though. You want one stage to have a scrolling texture with RGB, while another stage is staying still and just acting as a sort of transparency mask?

    Boothand likes this
  16. I must ask, what am I going to do? What good free hosts are out there? I need one that won't drop me for sneezing.

     

    WordPress.com hosts WordPress-powered sites for free, and they keep the software up-to-date all the time because they develop it. You don't get file hosting on there though, but you can use Dropbox/OneDrive/etc. for that. Also, I don't think they support any forum plugin on their service if you need that.

     

     

    Domain names are pretty cheap honestly.  Also there is already plenty of other free alternative ways as it is.  Hell even a simple url shortening would work.  I don't see why anyone should really scream like the house is burning down.

     

    Stahp. JKHub are shutting down their web hosting, not domain names. This means all their current users that have their websites and files stored on JKHub's servers will need to find a new hosting provider to take care of this now, migrate all their stuff across, and reconfigure all their software setup.

     

    Web Hosting ≠ Domain Registrar ≠ DNS Provider

     

    URL shortening would do no good to anyone here, because they'd not have any hosting provider to point their shortened links to. The reliability and security of many free web hosting providers out there is notoriously bad.

    eezstreet and Circa like this
  17. dvakd.gif
     
    So much drama.
     


    Ravensoft MS is vulnerable to a specific DoS type, anyone can do it literally at home because it doesn't require sending packets at very high frequency. The problem probably lies inside the application itself. I won't go into details obviously but I'm wondering if there is a way to contact them about this.


    E-mail at www@ravensoft.com. Twitter DM @RavenSoftware. Telephone on +1 (608) 833-5791. Post to Raven Software, 8496 Greenway Blvd, Middleton, WI 53562, United States.
     

    Now that Raven are hosting their master server on the Windows Azure infrastructure, if they are in fact being attacked, I wouldn't say it's just a script kiddie. The master server doesn't just get hosted on a single virtual server. It can move, divide and distribute itself across many servers. I very much doubt a single person would have enough bandwidth to take the server down, and that would not even constitute a DDoS anyway (the first D stands for distributed). Then again, it could be a problem with the master server application itself like @ufoooo says.


    I don't think Raven have distributed the application yet, but I could be wrong. An application-level attack makes sense as they might have had to implement a new master server if they're making use of the Azure Cloud Services offering instead of Azure VMs. Or maybe they're just running their old master server application in an Azure VM, which means the exploit would have affected the old master server too.


    Regardless of the cause, the JKHub Master Server is still alive and kicking, despite the barrage of fruitless attacks that happen every now and then. So there's an alternative there for anyone that needs it :)

    Link likes this
  18. The .weather file is compiler-dependent as it saves out structures directly, instead of serializing them in a portable manner. Don't include the .weather file in your pk3 as it could cause problems if you run it on other platforms.

     

    EDIT: Raven seems to have distributed .weather files in the base assets, but I think this is an oversight in platform portability.

    AngelModder likes this
×
×
  • Create New...